アニメーションなしでスクロールトップを使用するにはどうすればよいですか
このコードは機能します:
var offTop = $('#box').offset().top;
offTop = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 400);
そして、ここに私の(動作しないソリューション)があります:
$("#mainCt").scrollTop('+=' + offTop + 'px'); // doesn't work
$("#mainCt").scrollTop('+='+offTop); // doesn't work
hhh = setTimeout(' $("#mainCt").scrollTop('+offTop+');',800); // doesn't work
[〜#〜] demo [〜#〜]
http://jsfiddle.net/DNNFF/9/
たぶん、あなたがアニメーションやファンシーなものを望んでいないなら、単にアンカーを使用してください
<a name="top"></a>
スクロールする必要がある場所に配置します
そして、あなたが使用している関数で
document.location.href="#top";
要素の前にアンカーを追加する関数を作成し、document.location
事後、そのアンカーを削除します。
これを試して:
var offTop = $('#box').offset().top - 43;
$('#mainCt').scrollTop(offTop);
scrollTop
プロパティは整数のみを受け入れ、接尾辞や単位は必要ありません。
JQueryをスキップします。 JavaScriptを使用するだけです:
window.scroll(0, 0);
http://api.jquery.com/scrollTop/
$(window).scrollTop(offTop)
短い期間で使用しないのはなぜですか。私はそれをいじってみましたが、アニメーションはありませんでした。アニメーションを見る時間がないので、アニメーションはまったくありません。
var offTop = $('#box').offset().top;
offTop = offTop-43;
$('#mainCt').animate({scrollTop: '+=' + offTop + 'px'}, 50); //50 added here as duartion
デュレーションで遊べませんか?
var offTop = $('#box').offset().top;
offTop = offTop-43;
$('#mainCt').delay('800').animate({scrollTop: '+=' + offTop + 'px'}, 1);
var offTop = $('#box').offset().top;
$(window).scrollTop(parseInt(offTop))