javascript - 无法获取水平滚动位置

标签 javascript jquery

我想要获取 div 的水平滚动位置,但我不明白为什么这不起作用。

这是Codepen example .

HTML

<div class='demo'>dsannbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbnbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>

CSS

.demo {
  overflow-x: auto;
  height: 50px;
}

JS

$(document).ready(function(){
    if($(this).scrollLeft() >= 100){
         alert();   
    }
}); 

最佳答案

您的代码正在执行的操作是,当文档准备就绪(即 0)时,它会获取 scrollLeft() 的值,并且该值永远不会更改。当 .demo 事件的滚动发生变化时,您需要捕获一个事件。像这样的事情:

$(document).ready(function(){
  $('.demo').on('scroll', function() {
    var val = $(this).scrollLeft()
    if (val >= 100) alert('Hello')
  })
}); 

关于javascript - 无法获取水平滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34368605/

相关文章:

javascript - Ajax IndexedDB 删除当前成功上传

php - 使用 Jquery Tree 插件配置 ul li 标签

javascript - YUI 和/或 jQuery 用于新项目?

javascript - json 加载为 javascript 代码并使用变量

jquery - Bootstrap - 在模式窗口上设置文本框值

javascript - variable.Property = "test"与 Object.defineProperty(变量 ,"Property")

javascript - 是否可以使用网页作为用 python 编写的程序的用户界面,在本地运行,无需 Web 服务器?

javascript - IJavaScript 无法正常工作/链接

javascript - 如何在 Javascript 中定义 URL 以调用驻留在 Controller 中的 ActionResult 方法

javascript - 使用pdf.js嵌入PDF到网页