javascript-jQuery mobile阻止触发$(window).scroll事件
作者:互联网
我是新手,请保持温柔.我已经阅读了有关使用jquery .scroll()事件的文章,但是还没有实现有效的修复程序的运气.
https://stackoverflow.com/questions/5686629/jquery-window-scroll-event-does-not-fire-up
https://stackoverflow.com/questions/19375636/jquery-onscroll-not-firing-the-event-while-scrolling
我正在使用Jquery Mobile的网站上工作.我包括一个小脚本,当用户垂直滚动页面时,该脚本可以在背景图像上产生视差效果.它是这样写的:
$(window).on('scroll', function(){
$('.slider').each(function(r){
var pos = $(this).offset().top;
var scrolled = $(window).scrollTop();
$('.slider').css('background-position-y', -(scrolled * 0.3) + 'px');
});
});
当页面加载后在控制台中输入该代码时,它的工作效果非常好.作为自定义脚本的一部分加载时,它不执行任何操作.它位于我的main.js文件的末尾,这是我的HTML中引用的最后一个.js,紧随JQM CDN分发链接之后.
...</body>
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src='js/buildpage.js'></script>
<script src="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.js"></script>
<script src='js/main.js'></script>
</html>
我尝试使用$(windows).scroll(function(){alert(‘scroll’)})代替我的视差脚本,当JQM初始化并修改布局时,页面调整大小后,会产生单个警报,再没有其他了.页面加载后在控制台中重新输入该行会在滚动窗口时发出警报.
如果我注释掉JQM链接,则视差脚本可以正常工作.
综上所述:
视差脚本取决于.scroll().
视差脚本是HTML中引用的最后一个.js的最后一行.
如果以引用的脚本内联加载,则视差脚本不起作用.
如果页面加载后(Chrome)在开发控制台中输入,则Parallax脚本可以正常工作.
禁用JQM会产生所需的效果…但是现在JQM已关闭!
标签:jquery-mobile,html,javascript,jquery 来源: https://codeday.me/bug/20191121/2050810.html