ホームページ ウェブフロントエンド jsチュートリアル jQueryスライドショープラグイン(サムネイル機能付き)_jquery

jQueryスライドショープラグイン(サムネイル機能付き)_jquery

May 16, 2016 pm 06:11 PM
スライドショー サムネイル

友人の招待で、私は彼の会社のスライド ショー エフェクトの作成を手伝いました。そのエフェクトは次のとおりです。
jQueryスライドショープラグイン(サムネイル機能付き)_jquery
サムネイルの中央は現在再生されている画像で、両側が分岐しています。 、徐々に縮小し、透明度が低下します。現在0枚目の写真が再生されているとすると、 0

1 4

2 写真投稿後の配置は以下のようになります。

4

0 3

1 2

これは単なる再生効果です。サムネイルを回転すると、対応する大き​​な画像が右からスクロールします。大きな画像が入る速度はサムネイルの回転に対応する必要があります。全体的な効果は次のとおりです。


サムネイルの回転と大きな画像のスクロールを組み合わせることを検討しています。サムネイルの回転は 2 つの部分に分かれており、別の jQuery プラグインとして使用され、プラグイン内のイベントによって大きな画像がスクロールされます。まず、サムネイル回転プラグインの実装について説明します。
1. プラグイン パラメーター:
jQueryスライドショープラグイン(サムネイル機能付き)_jquery


コードをコピーします

コードは次のとおりです: this.defaults = { auto: false, //自動再生するかどうか
width: 85, //サムネイルの幅
height: 42, //サムネイルの高さを縮小します
onstart: null, //スクロール開始
onchange: null //スクロール イベント
}; -in events:
onstart イベント、回転が開始されるたびに 1 回トリガーされます。転送されるパラメーターは次のとおりです: 現在のサムネイルの jQuery オブジェクトと次のサムネイルの jQuery オブジェクト:



コードをコピーします


コードは次のとおりです:
opt.onstart && opt.onstart(me.Images.img[curIdx].img$, me.Images.img[idx].img$); onchange イベント (距離がスクロールされるたびにトリガーされます)、および現在のスクロールの割合の進行状況パラメーター:


コードをコピーします


コードは次のとおりです。
opt.onchange && opt.onchange(stepPercent[step]); stepPercent[step] 配列について言えば、次のようになります: サムネイルの回転は、時間指定された可変速度の方法を採用します。つまり、1 枚の画像か2 つの画像を回転させると、時間は固定されますが、2 つの画像を回転させる速度は画像を回転するよりも速く、画像の数やスクロール距離に関係なく回転します。スクロールするのにそれほど時間はかかりません。
StepPercent[step] この配列は、各回転に 15 ステップが必要であり、各回転の距離が徐々に減少するため、可変速度効果が得られます。



コードをコピー


コードは次のとおりです:合計 = stepPercent[i];
if (i == stepPercent.length - 1)
stepPercent[i] = 1;


最初のステップは 20%、その後の各ステップは前のステップの 81%、つまり 19% ずつ速度が低下します。ただし、15 ステップ目までに小数点の計算に誤差が生じます。これは 1 に非常に近いかもしれません。しかし、これは 1 の値ではないので、ステップ 15 を直接 1、つまり 100% に設定すると、スクロールが終了します。
(注: このシーケンスはどのように設計されましたか? Excel を使用してセルを見つけて 0.2 と入力しました。次のセルの数式は前のセルの 0.81 です。次に、もう少し下にドラッグして、上記の累積を入力します。 1 に近い値が必要なステップ数です。)
このシーケンスが JS を使用して生成されていない場合、後で速度を変更したい場合は、実際には Excel で作成したシーケンスから直接配列を定義できます。 、同じことを一度だけ行います。

回転する際、サムネイルのサイズ、透明度、位置などの情報は、この stepPercent 配列で設定された倍率を使用して計算されます。
プラグインの詳細については説明しません。サムネイルに従って全体像をスクロールする方法について説明します。
3. 大きな画像のスクロール
大きな画像がサムネイルとともにスクロールする場合、どの画像にスクロールしても、スキップしすぎを防ぐために、現在の大きな画像のすぐ後ろにスクロールする効果が表示されます。複数の写真を撮影すると、速度が速すぎてまぶしく感じるため、ここで onstart イベントが役に立ちます。
onstart イベントでは、まず現在の画像を大きな画像リストの最初の場所に移動し、次にターゲットの画像を現在の画像の後ろに移動します (注: 現在の画像は、大きい画像リストの最初の場所に移動します)。現在の画像を大きな画像リストの先頭に移動できるため、現在の画像を後ろに移動すると、スクロール バーの位置が移動します。 。
次に、onchange イベントで、受信した進行状況パラメーターに従って水平スクロール バーのスクロール距離を設定するだけです。大きな画像のスクロールは非常に簡単です。具体的な JS は次のとおりです。
コードをコピー コードは次のとおりです。

$( function() {
$("#div_Slide").Slide({
auto: true,
width: 85,
height: 42,
onstart: function(curImg, nextImg) {
var cData = curImg.attr("データ");
var nData = nextImg.attr("データ");
var bigCur = $("#" cData), bigNext = $(" #" nData);
var allBigImg = bigCur.parent().children("img");
var curIndex = allBigImg.index(bigCur[0]);
var nextIndex = allBigImg.index( bigNext[0]);
var firstImg = $(allBigImg[0]);
if (firstImg.attr("id") != bigCur.attr("id"))
bigCur.insertBefore (firstImg);
$("#div_BigImg").scrollLeft(0);
bigNext.insertAfter(bigCur);
onchange: function(percent) {
$( "#div_BigImg");
}
});
var bigDivPos = bigDiv.position(); 🎜>bigDiv.scrollLeft( 0); //スクロール バーが先頭にない場合、F5 キーを押して更新しても先頭にジャンプしないことがわかったので、最初にスクロール バーを先頭にスクロールします。 #div_Slide").css({
"top": (bigDivPos.top bigDiv.height() - $("#div_Slide").height()) "px",
"left": bigDivPos.左 "px"
}) ;
});


ソース コードのダウンロード:
http://xiazai.jb51.net/201101/yuanma/SlideDemo_jb51.rar
使用中に何か発見がありました。ご質問や改善点がある場合は、メッセージを残してください。ありがとうございます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11 でタスクバーのサムネイル プレビューを無効にする方法は? マウスを移動してタスクバー アイコンのサムネイル表示テクニックをオフにする Win11 でタスクバーのサムネイル プレビューを無効にする方法は? マウスを移動してタスクバー アイコンのサムネイル表示テクニックをオフにする Feb 29, 2024 pm 03:20 PM

Win11 でタスクバーのサムネイル プレビューを無効にする方法は? マウスを移動してタスクバー アイコンのサムネイル表示テクニックをオフにする

Windows 11、10でバックグラウンドのスライドショーが機能しない問題を修正する方法 Windows 11、10でバックグラウンドのスライドショーが機能しない問題を修正する方法 May 05, 2023 pm 07:16 PM

Windows 11、10でバックグラウンドのスライドショーが機能しない問題を修正する方法

Windows 11 22H2 でフォルダーのサムネイルをカスタマイズする方法 Windows 11 22H2 でフォルダーのサムネイルをカスタマイズする方法 Apr 30, 2023 pm 04:52 PM

Windows 11 22H2 でフォルダーのサムネイルをカスタマイズする方法

Windows 11 で BGM 付きのスライドショーを作成するにはどうすればよいですか? Windows 11 で BGM 付きのスライドショーを作成するにはどうすればよいですか? Apr 21, 2023 am 10:07 AM

Windows 11 で BGM 付きのスライドショーを作成するにはどうすればよいですか?

全画面で再生すると、スライドショーに黒い枠が表示されるのはなぜですか? 全画面で再生すると、スライドショーに黒い枠が表示されるのはなぜですか? Oct 20, 2023 pm 03:25 PM

全画面で再生すると、スライドショーに黒い枠が表示されるのはなぜですか?

PowerPoint を Google スライドに変換するにはどうすればよいですか? PowerPoint を Google スライドに変換するにはどうすればよいですか? Apr 22, 2023 pm 03:19 PM

PowerPoint を Google スライドに変換するにはどうすればよいですか?

パワーポイントでクリックするまでテキストを非表示にする方法 パワーポイントでクリックするまでテキストを非表示にする方法 Apr 14, 2023 pm 04:40 PM

パワーポイントでクリックするまでテキストを非表示にする方法

Vscode でサムネイルを表示する方法_Vscode でサムネイルを表示する方法 Vscode でサムネイルを表示する方法_Vscode でサムネイルを表示する方法 Apr 02, 2024 pm 02:43 PM

Vscode でサムネイルを表示する方法_Vscode でサムネイルを表示する方法

See all articles