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
使用中に何か発見がありました。ご質問や改善点がある場合は、メッセージを残してください。ありがとうございます。