我有下面的代码可以打开一个模态窗口。这适用于IE8,但不适用于Chrome或FF。我是跨浏览器功能领域的新手。functionShowModal(WindowID,FramesetID){window.onscroll=function(){window.top.document.getElementById(WindowID).style.top=window.top.document.body.scrollTop;};window.top.document.getElementById(WindowID).style.display="block";window.top.docum
最近我发现window.scrollTo在Safari(6.0.5(8536.30.1),MacOS10.8.4)中的行为非常奇怪(在我看来)。它似乎异步工作。我的任务听起来像:制作一些绝对定位的div以固定定位(固定)做一些页面滚动使之前修改过的div绝对定位(取消固定)因此,要取消固定此div,我必须在滚动修改完成后立即执行取消固定例程。在这里我遇到了问题。除了Safari,我检查过的每个浏览器都能正确执行。重现步骤:在Safari中打开任何网页,并确保它至少可滚动100像素,并且初始滚动偏移量为0在开发工具中打开js控制台执行:window.scrollTo(0,100);con
在Chrome和Safari中,$("body").scrollTop(1000)会到达预期的位置。在IE和FF中,没有任何反应。在IE和FF中,$(window).scrollTop(1000)有效,但它们去不同的地方。它也适用于Chrome和Safari,但它们也适用于不同的地方。它们似乎最多相差300-500像素。是否有任何一致的方法来设置跨浏览器工作的scrollTop属性,如果没有,为什么jQuery不对此进行抽象?我也想为它制作动画,这在Chrome和Safari中运行良好,但在其他浏览器中却不行。是我进行浏览器检测的唯一选择吗?(不好的做法)还是有更好的方法?
同样的问题在jQUery中得到了回答,但我正在寻找没有jQuery的解决方案。Howdoyouknowthescrollbarhasreachedbottomofapage我想知道如何判断垂直滚动条是否到达网页底部。我正在使用Firefox3.6我编写了简单的Javascript循环来向下滚动200像素,当滚动条到达页面底部时,我想停止循环。问题是scrollHeight()返回1989。并且内部循环scrollTop每次迭代递增200。200==>400==>600....1715并且从1715开始,它不会递增,所以这个循环会一直持续下去。为了确定滚动条的实际位置,比较scrollH
累积offsetTop之间是否存在可预测的关系?的元素和scrollTop的值在导航到那个之后元素?我曾天真地假设它们是相等的,但我遇到过scrollTop更大(滚动位置在页面下方)。下面更准确地定义了问题:functionTotalOffsetTop(e){varoffset=0;dooffset+=e.offsetTop;while(e=e.offsetParent);returnoffset;}//navigatetoMyBookmarklocation.hash="#MyBookmark"varBookmarkOffsetTop=TotalOffsetTop(document.
在我的工作中,我们有一个使用AngularJS创建的单页网站。我们正在使用ui-router插件(版本0.2.0)。最近我注意到,当从一种状态移动到另一种状态时,窗口不会滚动到顶部。我什至尝试在每次状态更改时使用jQuery的scrollTop()函数手动将其滚动到顶部(使用$stateChangeSuccess事件)。但它没有用。所以我开始调查,我注意到scrollTop()为页面上的每个元素返回0。不仅如此,当我将window.scrollY打印到控制台时,我得到0(无论我在页面上的什么位置)。不仅在我的代码中,即使我只是在chrome开发工具控制台中编写它。我已经用Angular
刚学react,想实现一个功能:A,B都是组件,A滚动则B滚动下面是我的代码//whatiwritenowhandleScroll:function(event){vartarget=event.nativeEvent.target;//dosomethingtochangescrollTopvaluetarget.scrollTop+=1;//itlooksthesameasnotusereactdocument.getElementById(B).scrollTop=target.scrollTop;}但实际上我想要这样的代码//whatiwant//...handleScroll
我有一个关于对象在我的屏幕内时将被调用的函数的问题。但是当对象在我的屏幕内时,将调用该函数并触发警报。但是,如果我关闭警报并进一步向下滚动,则会再次调用该事件。我不要那个。我该如何解决?Workingexample到目前为止我的代码:scrolldowntoseethedivJS$(window).on('scroll',function(){if(checkVisible($('#tester'))){alert("Visible!!!")}else{//donothing}});functioncheckVisible(elm,eval){eval=eval||"objectvis
我有一个divclass='messages'。我通过jQuery.append()向这个div添加日期以下是样式:.messages{border:1pxsolid#dddddd;padding:10px;height:400px;overflow-x:visible;overflow-y:scroll;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;margin-bottom:10px;font-size:14px;}对于自动滚动,我使用这样的函数:receiveMessage=function(
我对scrollTop()感到困惑。jQuery文档说它应该显示一个表示给定元素的scrollTop偏移量的数字,但正如我自己的脚本中所做的那样,在他们的演示中它返回“0”。手动设置scrollTop效果很好,使用$(window).scrollTop()命令也是如此。scrollTop()是否仅返回与本身包含滚动条的元素关联的值(例如具有overflow:scrollCSS属性的元素)? 最佳答案 只有在顶部以外的位置带有滚动条的元素的scrollTop>0。如果您有一个没有滚动条的元素,那么人们会期望它们的scrollTop位置