利用jquery禁止外層滾動(dòng)條的滾動(dòng)
前言
通常情況下,當(dāng)內(nèi)部滾動(dòng)條滾動(dòng)到兩端時(shí),再接著滾動(dòng)時(shí)外層的滾動(dòng)條就會跟著滾動(dòng);可是有時(shí)我們希望用戶只能滾動(dòng)當(dāng)前區(qū)域,而不觸發(fā)外層(window)的滾動(dòng)條,離開當(dāng)前區(qū)域后,才能滾動(dòng)外層的滾動(dòng)條。因?yàn)橛脩艨赡芤徊恍⌒臐L動(dòng)的幅度過大了,導(dǎo)致當(dāng)前區(qū)域離開可視區(qū)域。
在jquery中,滾動(dòng)事件是scroll,而這個(gè)事件是不能阻止冒泡和阻止默認(rèn)事件的。假如我們設(shè)定要禁止window的滾動(dòng)條,我采取的策略是:當(dāng)鼠標(biāo)進(jìn)入到當(dāng)前區(qū)域后,則window的滾動(dòng)條的高度始終是鼠標(biāo)進(jìn)入前的高度
如下的代碼:
<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)進(jìn)入到區(qū)域后,則存儲當(dāng)前window滾動(dòng)條的高度
$('#main').hover(function(){
scrollTop = $(window).scrollTop();
}, function(){
scrollTop = -1;
});
// 鼠標(biāo)進(jìn)入到區(qū)域后,則強(qiáng)制window滾動(dòng)條的高度
$(window).scroll(function(){
scrollTop!==-1 && $(this).scrollTop(scrollTop);
})
})
從上面的代碼可以看到,我并沒有阻止window滾動(dòng)條的事件,而是用戶每次滾動(dòng)時(shí),都會重新進(jìn)行賦值。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,當(dāng)然,或許還有更好的方法,歡迎大家提供,謝謝!
- jquery滾動(dòng)條插件slimScroll使用方法
- js/jquery控制頁面動(dòng)態(tài)加載數(shù)據(jù) 滑動(dòng)滾動(dòng)條自動(dòng)加載事件的方法
- jQuery實(shí)現(xiàn)滾動(dòng)條滾動(dòng)到子元素位置(方便定位)
- jQuery實(shí)現(xiàn)立體式數(shù)字滾動(dòng)條增加效果
- jQuery中Nicescroll滾動(dòng)條插件的用法
- jQuery判斷是否存在滾動(dòng)條的簡單方法
- jQuery彈出層后禁用底部滾動(dòng)條(移動(dòng)端關(guān)閉回到原位置)
- jQuery實(shí)現(xiàn)將div中滾動(dòng)條滾動(dòng)到指定位置的方法
- vue中如何引入jQuery和Bootstrap
- bootstrap jquery dataTable 異步ajax刷新表格數(shù)據(jù)的實(shí)現(xiàn)方法
- Jquery與Bootstrap實(shí)現(xiàn)后臺管理頁面增刪改查功能示例
- 利用jquery和BootStrap實(shí)現(xiàn)動(dòng)態(tài)滾動(dòng)條效果
相關(guān)文章
jquery.uploadifive插件怎么解決上傳限制圖片或文件大小問題
jQuery.uploadifive插件可以很好的解決上傳限制圖片或文件大小問題,具體實(shí)例代碼大家參考下本文2017-05-05
Jquery+Ajax+PHP+MySQL實(shí)現(xiàn)分類列表管理(下)
本文將采用Jquery+Ajax+PHP+MySQL來實(shí)現(xiàn)一個(gè)客戶分類列表的管理,如何利用Ajax和Json技術(shù)讓用戶操作起來覺得更輕松,感興趣的小伙伴們可以參考一下2015-10-10
兩種方法基于jQuery實(shí)現(xiàn)IE瀏覽器兼容placeholder效果
這篇文章主要介紹了兩種方法基于jQuery實(shí)現(xiàn)IE瀏覽器兼容placeholder效果,需要的朋友可以參考下2014-10-10
詳解jQuery中的getAll()和cleanData()
這篇文章主要介紹了jQuery之getAll()和cleanData()函數(shù)的實(shí)例代碼解析,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2019-04-04
jquery UI Datepicker時(shí)間控件的使用方法(加強(qiáng)版)
這篇文章繼續(xù)介紹了jquery UI Datepicker時(shí)間控件的使用方法,主要關(guān)于Datepicker插件的介紹和使用,并分享了第一個(gè)日歷插件的使用實(shí)例,需要的朋友可以參考下2015-11-11
web前端開發(fā)JQuery常用實(shí)例代碼片段(50個(gè))
本文給大家展示50個(gè)jquery代碼片段,這些代碼能夠給你的javascript項(xiàng)目提供幫助,需要的朋友快來學(xué)習(xí)一下吧2015-08-08

