ページに Smooth-div-scroll を使用しています。画面上で選択した要素でスクロールバーを中央に配置する追加機能を既に追加しています。そのため、要素をクリックすると、スライド全体がその要素の中央に移動します-moveメソッドを使用-
しかし、連続エンドレススクロールも使用したいので、最初の要素も中央でスライドできます(エンドレススクロールがない場合、最初の要素は0にあり、左に要素がないため右に移動できませんそれの)
制限は元のコードにありますが、それを克服する方法を見つけたいです!
http://smoothdivscroll.com/publicMethods.html#move
ここで考慮すべき重要なことは、無限にループするように設定されたスクローラーで move を使用すると、無限にスクロールするときに通常発生する要素の交換が行われないということです。したがって、2000 ピクセル幅のスクローラーで 4000 ピクセルを移動しようとすると、一番右の要素に移動してそこで停止します。これで困ったという話は聞いたことがありませんが、使ってみて思うように動かない場合は、これが原因かもしれません。
私は今このコードを使用しています。
//on click on any element in scroll area
function reply_click(clicked_id)
{
var offset = $('#' + clicked_id).offset();
//scroll left to center it
if (offset.left > center) {
target = offset.left - center;
$("div#content").smoothDivScroll("move", target );
} ;
//fix the element in the center of the screen (0px move)
if (offset.left == center){
target = 0;
$("div#content").smoothDivScroll("move", target );
} ;
//scroll right to center it - but it only scrolls less or equal to the width of the element - not more or arbitrary distance
if (offset.left < center) {
target = -1*center + offset.left;
$("div#content").smoothDivScroll("move", target );
};
これがtestinバージョンです: http://www.s12.gasparhajdu.hu/
どうも。G