亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

利用jquery禁止外層滾動條的滾動

??? 2017-01-13 14:24:54 305
????:前言通常情況下,當(dāng)內(nèi)部滾動條滾動到兩端時,再接著滾動時外層的滾動條就會跟著滾動;可是有時我們希望用戶只能滾動當(dāng)前區(qū)域,而不觸發(fā)外層(window)的滾動條,離開當(dāng)前區(qū)域后,才能滾動外層的滾動條。因為用戶可能一不小心滾動的幅度過大了,導(dǎo)致當(dāng)前區(qū)域離開可視區(qū)域。在jquery中,滾動事件是scroll,而這個事件是不能阻止冒泡和阻止默認(rèn)事件的。假如我們設(shè)定要禁止window的滾動條,我采取的策略是:當(dāng)

前言

通常情況下,當(dāng)內(nèi)部滾動條滾動到兩端時,再接著滾動時外層的滾動條就會跟著滾動;可是有時我們希望用戶只能滾動當(dāng)前區(qū)域,而不觸發(fā)外層(window)的滾動條,離開當(dāng)前區(qū)域后,才能滾動外層的滾動條。因為用戶可能一不小心滾動的幅度過大了,導(dǎo)致當(dāng)前區(qū)域離開可視區(qū)域。

在jquery中,滾動事件是scroll,而這個事件是不能阻止冒泡和阻止默認(rèn)事件的。假如我們設(shè)定要禁止window的滾動條,我采取的策略是:當(dāng)鼠標(biāo)進入到當(dāng)前區(qū)域后,則window的滾動條的高度始終是鼠標(biāo)進入前的高度

如下的代碼:

<style type="text/css">
 .main{
 overflow: auto;
 width: 400px;
 height: 400px;
 border: 1px solid #aaa;
 }
 .main p{
 height: 800px;
 }
</style>
 
<body>
 <div id="main" class="main">
 <p></p>
 </div>
 <p style="height:1000px;"></p>
</body>
 
$(function () {
 var scrollTop = -1; // 鼠標(biāo)進入到區(qū)域后,則存儲當(dāng)前window滾動條的高度
 $('#main').hover(function(){
 scrollTop = $(window).scrollTop();
 }, function(){
 scrollTop = -1;
 });
 
 // 鼠標(biāo)進入到區(qū)域后,則強制window滾動條的高度
 $(window).scroll(function(){
 scrollTop!==-1 && $(this).scrollTop(scrollTop);
 })
})

從上面的代碼可以看到,我并沒有阻止window滾動條的事件,而是用戶每次滾動時,都會重新進行賦值。

更多關(guān)于利用jquery禁止外層滾動條的滾動請關(guān)注PHP中文網(wǎng)(ipnx.cn)其他文章!

??? ??

?? ??