我正在尝试创建此行为:当用户滚动鼠标滚轮(或按↓)时,网页会向下滚动窗口的高度。我最终得到了以下代码:varnewScrollTop,oldScrollTop=$(window).scrollTop(),preventScroll=false;$(window).scroll(function(){if(!preventScroll){preventScroll=true;newScrollTop=$(this).scrollTop();if(newScrollTop>oldScrollTop){$(this).scrollTop(oldScrollTop+$(window).heig
我正在尝试获取元素的scrollTop位置,但它总是返回0。我做错了什么,我该如何解决?JSFiddlevarinner=document.getElementById('inner');window.addEventListener('scroll',function(){console.log(inner.scrollTop);})#outer{background-color:tan;height:1000px;}#first{background-color:bisque;height:200px;}#inner{background-color:aquamarine;heig
我想知道使用Javascript动画滚动条是否会触发浏览器重排。不同浏览器实现之间有什么不同吗?window.pageXOffset&window.pageYOffsetdocument.documentElement.scrollLeft&document.documentElement.scrollTopdocument.body.scrollLeft&document.body.scrollTop谢谢! 最佳答案 我深入挖掘,发现这个链接说它确实会导致回流:http://www.phpied.com/rendering-rep
我收到错误:body.scrollTop在严格模式下已弃用。请在严格模式下使用“documentElement.scrollTop”,在怪异模式下使用“body.scrollTop”。我的代码是:$(document).ready(function(){//AnimatesScrollingtoanchorfunctionscrollToAnchor(aid){vardivTag=$("div[name='"+aid+"']");$('html,body').animate({scrollTop:divTag.offset().top},'slow');}//IfCheckingout
当这样设置CSS规则时html{overflow:hidden;}我无法再使用javascript在Chrome中获取或设置滚动位置(只有DOMElement.scrollIntoView有效)。当我删除它时,它可以正常工作,但它会弄乱整个页面,其中包含使用CSS3创建的“视差效果”。这是一个简化的示例(仅以-webkit-为前缀):http://jsfiddle.net/BaliBalo/LxCxn/ 最佳答案 您可以使用clearfix以与overflow:hidden相同的方式进行“布局预置”。.clearfix:before
我正在使用GoogleChrome10并编写JavaScript来检测滚动结束。检测window的滚动结束,下面的代码运行良好:window.addEventListener('scroll',function(){varscrollTop=document.documentElement.scrollTop||document.body.scrollTop;varofferHeight=document.body.offsetHeight;varclientHeight=document.documentElement.clientHeight;if(offsetHeight现在我想
如果它大于100,我如何测试它。例如,我如何获得警报。这是我的代码不起作用,我不知道为什么。varScrollTop=$("body").scrollTop();if(ScrollTop>100){alert("Scrollisgreaterthan100");//document.getElementById('back-to-top').fadeOut;} 最佳答案 使用滚动监听器http://jsfiddle.net/6A6qy/$(window).scroll(function(){...});
-->请转到编辑此问题的部分我想同步两个div的滚动条,我就是这样做的vardiv1=document.getElementById('element1'),div2=document.getElementById('element2');div1.addEventListener('touchmove',scrolled,false);div2.addEventListener('touchmove',scrolled,false);functiongetscrollTop(node){returnnode.pageYOffset||node.scrollTop;}functions
下面的代码用于通过javascript查找可以滚动的元素(body或html)。varscrollElement=(function(tags){varel,$el,init;//iteratethroughthetags...while(el=tags.pop()){$el=$(el);//ifthescrollTopvalueisalready>0thenthiselementwillworkif($el.scrollTop()>0){return$el;}//ifscrollTopis0trytoscroll.elseif($el.scrollTop(1).scrollTop()
我想检查页面加载完成后是否滚动,我正在使用此代码:$(document).ready(function(){alert($(window).scrollTop());});它在Firefox中运行良好,但在Chrome中总是返回0。这是为什么? 最佳答案 实际上,Firefox是唯一不会在domReady或window.onload上为$(window).scrollTop()返回0的浏览器。Chrome、Safari和IE都返回0。在domReady上获得正确滚动条位置的唯一安全方法是,如上面另一个答案中所述,在窗口的滚动事件上设