2012-05-07 3 views
1

は別に明白な疑問から150停止ページスクロールはscrollTopスプライトが一定値に達した後に防止することがスクロールすることができますどのように

$(window).scroll(function() { 
    if($(window).scrollTop() >=50)) { 
     return false; // basically don't scroll  
    } 
}); 
+0

代替手段がある場合は、このブラウザの動作を停止しないことをお勧めします。ユーザーが迷惑をかける可能性があります。 – ShankarSangoli

+0

'.scrollTop'は' scrollTo'関数を使ってscrollHeightを設定します。 xからyにスクロールしません。ちょうどyに行きます。したがって、イベントがyに設定された後にイベントが呼び出されるため、基本的にスクロールを停止することはできません。おそらく、高さを比較した後、ハンドラの中で目的のscrollHeightを設定することができます。 'if($(window).scrollTop()> = 50){$(window).scrollTop(0);} } ' - **注意:**要素上でそれを使用することは耐えられますが、ウィンドウオブジェクト上ではユーザにとっては迷惑になります。上記は、どのように動作するかを示しています。 >> http://jsfiddle.net/KwgMj/ <<でスクロールして、それがいかに迷惑になるかを見てください。 –

答えて

4

.scrollTopscrollTo関数を使用してscrollHeightを設定します。 xからyにスクロールしません。ちょうどyに行きます。

したがって、イベントがyに設定された後にイベントが呼び出されるため、基本的にはスクロールを停止できません。おそらく高さを比較した後、ハンドラの中に希望のscrollHeightを設定することができます。

if($(window).scrollTop() >=50) 
{ 
    $(window).scrollTop(0); 
} 

注:要素でそれを使用しては我慢ですが、windowオブジェクト上のユーザへの迷惑となります。上記は、どのように動作するかを示しています。

>>http://jsfiddle.net/KwgMj < <でスクロールして、どのように迷惑をかけるのかを確認してください。

+1

値を0以上に設定すると、スクロールバーが揺れません。 – undefined

+0

@Raminson Technicallyそれは50pxまで行くことができますが、それはスクロールを持っていて、スクロールを無効にすることがユーザに迷惑になることがあることをOPに示すことだけでした。 –

+0

はい、あなたは正しいです、スクロールからユーザを防ぐことは非常に迷惑です。 – undefined

3
$(window).scroll(function(e) { 
    if($(window).scrollTop() >=50)) { 
     $(window).scrollTop(50) 
    } 
}); 
+0

e.preventDefault(); – user1184100

+1

@ user1184100更新された答えを試してくださいscrollTopの値を手動で変更することができます。 – undefined

1

を言う特定のポイントに到達しました。なぜこれが欲しいですか?

私は別のアプローチを提案します。

ウィンドウ全体を塗りつぶし、特定の高さを持ち、overflow-x: hiddenをCSSで使用するラッパーを用意してください。

これは、あなたが後にしているものかもしれません。

次の手順のためにスクロールし続けるサイトを作りたい場合は、.slideDown()の関連コンテンツをお勧めします。

スクロールは本当に基本的な機能ですが、正当な理由で変更しないでください。

EDIT:アプリ特定の溶液のため
、ラッパー使用:

<? if (strpos($_SERVER['HTTP_USER_AGENT'],'iPad')): ?> 
<!-- If iPad, add style --> 
<style type="text/css"> 
    div#wrapper { 
     height: 100%; 
     overflow: hidden; 
    } 
</style> 
<? endif; ?> 

<body> 
<div id="wrapper"> 
<!-- Content here --> 
</div> 
</body> 
+0

私はバグを修正するためにipadのスクロールを防止しようとしているので、スクロールがスクリプトを通して防止できるかどうかチェックしていました。 – user1184100

+0

上記の編集をお試しください。 –

+0

ありがとうrobinもこれを試してみます – user1184100

関連する問題