利用jquery禁止外层滚动条的滚动

 更新时间:2017年01月05日 14:15:22   作者:wenzi  
这篇文章主要给大家介绍了利用jquery如何禁止外层滚动条的滚动,文中给出了详细的示例代码,相信对大家的理解和学习具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧。

前言

通常情况下,当内部滚动条滚动到两端时,再接着滚动时外层的滚动条就会跟着滚动;可是有时我们希望用户只能滚动当前区域,而不触发外层(window)的滚动条,离开当前区域后,才能滚动外层的滚动条。因为用户可能一不小心滚动的幅度过大了,导致当前区域离开可视区域。

在jquery中,滚动事件是scroll,而这个事件是不能阻止冒泡和阻止默认事件的。假如我们设定要禁止window的滚动条,我采取的策略是:当鼠标进入到当前区域后,则window的滚动条的高度始终是鼠标进入前的高度

如下的代码:

<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; // 鼠标进入到区域后,则存储当前window滚动条的高度
 $('#main').hover(function(){
 scrollTop = $(window).scrollTop();
 }, function(){
 scrollTop = -1;
 });

 // 鼠标进入到区域后,则强制window滚动条的高度
 $(window).scroll(function(){
 scrollTop!==-1 && $(this).scrollTop(scrollTop);
 })
})

从上面的代码可以看到,我并没有阻止window滚动条的事件,而是用户每次滚动时,都会重新进行赋值。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,当然,或许还有更好的方法,欢迎大家提供,谢谢!

相关文章

  • jQuery中parent()方法用法实例

    jQuery中parent()方法用法实例

    这篇文章主要介绍了jQuery中parent()方法用法,实例分析了parent()方法的功能、定义及取得紧邻父元素的使用技巧,需要的朋友可以参考下
    2015-01-01
  • 基于jquery的$.ajax async使用

    基于jquery的$.ajax async使用

    默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行
    2011-10-10
  • jQuery中:last选择器用法实例

    jQuery中:last选择器用法实例

    这篇文章主要介绍了jQuery中:last选择器用法,实例分析了:last选择器的功能、定义及匹配时的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • 使用jquery.upload.js实现异步上传示例代码

    使用jquery.upload.js实现异步上传示例代码

    这篇文章主要介绍了使用jquery.upload.js实现异步上传的示例代码,需要的朋友可以参考下
    2014-07-07
  • Jquery Ajax Error 调试错误的技巧

    Jquery Ajax Error 调试错误的技巧

    jquery在程序开发ajax应用程序时提高了效率,减少了需要兼容性的问题,当我们在ajax项目中,遇到ajax异步获取数据出错该怎么解决呢,我们可以通过捕捉error事件来获取出错的信息,本文给大家介绍jquery ajax error调试错误的技巧,感兴趣的朋友一起学习吧
    2015-11-11
  • Jquery创建层显示标题和内容且随鼠标移动而移动

    Jquery创建层显示标题和内容且随鼠标移动而移动

    本文为大家介绍下使用Jquery创建一个层显示标题的内容且随鼠标移动,具体的实现如下
    2014-01-01
  • AJAX在JQuery中的应用详解

    AJAX在JQuery中的应用详解

    今天小编就为大家分享一篇关于AJAX在JQuery中的应用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • JavaScript实现向select下拉框中添加和删除元素的方法

    JavaScript实现向select下拉框中添加和删除元素的方法

    这篇文章主要介绍了JavaScript实现向select下拉框中添加和删除元素的方法,涉及jQuery中append()与remove()方法动态操作表单元素的相关技巧,需要的朋友可以参考下
    2017-03-03
  • jquery 设置style:display的方法

    jquery 设置style:display的方法

    这篇文章主要介绍了jquery 设置style:display的方法,需要的朋友可以参考下
    2015-01-01
  • 完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效

    完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效

    本文是作者学习jQuery之后练手之作,兼容各大浏览器,非常的精美实用,这里放出来给小伙伴们,有需要的直接拿走,别跟我客气^_^
    2014-11-11

最新评论