Tag: 滚动

jQuery:如何确定div向下滚动

我有一个定义高度的div, overflow:scroll; 。 它的内容太长,所以滚动条出现。 现在为ichy部分。 它的一些内部HTML总是奇怪地出现(确切地说,是tableFilter插件生成的表的页脚)。 我想让这个页脚在不需要时消失(它实际上出现在包含 的边框之外)。 我决定让它消失,但将其z-index设置为-1000 。 但是我希望在包含 完全向下滚动时显示它。 我怎么知道用户已在底部滚动? 使用下面答案的帮助,我使用了scrollTop属性,但scrollTop和innerHeight之间的区别是滚动条的大小加上一些未识别的delta。 在Windows下的大多数浏览器中,滚动条高16像素,但我在Firefox中有17个差异,在IE中有20个差异,其中我的 内容的边框似乎变得更大。 在那里给出了一种计算滚动条大小的方法(实际上是两种方式……)。

在当前查看元素上方插入新部分时保持scrollTop(无毛刺)

这里有一个真正的JQuery UI天才:我们有一个非常长的forms,按需加载部分(例如,当点击索引/导航时,或当我们在当前部分的边缘滚动时)。 当我在当前查看的部分下面加载部分时,这不会影响当前滚动(即scrollTop)位置,但是当我在当前查看部分上方插入新部分时,它当然会将查看的内容向下推。 我们需要保持相对于当前部分的scrollTop位置。 我们还需要在进行调整时避免显示跳跃/毛刺。 我们正在考虑的选项: 加载内容并按加载项的高度调整scrollTop位置(这可能会因为DOM更改可能比scrollTop调整慢得多而出现故障)。 在屏幕外加载新部分,测量高度。 然后插入该部分并按该量调整scrollTop(由于DOM更新,可能仍然是故障)。 将要加载的部分设置为较大的固定高度(例如100/1000像素)并调整scrollTop以匹配,以便当前视图不会移动。 将内容加载到该部分,然后测量实际的新内容高度并移除固定高度,同时调整scrollTop以匹配实际高度。 不要使用传统的滚动,而是编写一个自定义滚动条,它保持自己的相对偏移并将现有的部分分开以适应新的部分。 然后问题就是编写自定义滚动条替换(对于像我们正在使用的nicescroll这样的东西)。 暂时将当前查看的部分的位置更改为绝对(从屏幕偏移计算的位置),以将其从流程中取出。 更新其后面的父滚动窗口内容,然后在重新计算新的scrollTop后再次使查看的部分相对。 还有什么我们没有想过的? 我想要一些实际上必须解决这个问题的人提出一些建议。 重要的是屏幕不会出现故障,因此应避免将scrollTop同步到缓慢的DOM更新。 对拟议解决方案的建议或意见? 是否有可以执行此操作的滚动替换? 如果你无法解决它,但认为它值得解决,请考虑提升,这样我就可以获得大笔奖金! 🙂

window.scroll事件触发两次

无论我使用什么方法来检测页面上的滚动,事件都会被触发两次。 请参阅我尝试过的不同方法的代码。 要么 $(window).scroll(function(){ alert(“Why are you alerting twice?”); }); 要么 window.onscroll = please_scroll; function please_scroll() { alert(“Why are you alerting twice?”); } 我甚至尝试过使用$ .debounce。 如果有任何用处,我会解释我要做的事情:当用户向上或向下滚动滚轮时,页面会将滚动设置为下一个全宽度内容div的动画。 我的代码已成功执行此菜单,但我也希望它在用户滚动时发生,基本上自动帮助他们滚动到我的页面的每个部分。 这是我目前用于滚动的function: function scrollTo(id){ // Scroll $(‘html,body’).animate({scrollTop: $(“#”+id).offset().top – 110},’slow’,function(){ animation_active = “false”; }); }

jQuery使用下一个/上一个按钮滚动到下一个Div类

我想要的是固定导航,使用NEXT和PREV按钮基本上将页面滚动到下一个具有“section”类的div。 我已经设置了jQuery,实际上是为NEXT和PREV href添加了一个click函数。 然后,此单击函数将使用ScrollTop移动到具有.section类的下一个duv。 这是jQuery: $(‘div.section’).first(); // binds a click event-handler to a elements whose class=’display’ $(‘a.display’).on(‘click’, function(e) { // prevents the default action of the link e.preventDefault(); // assigns the text of the clicked-link to a variable for comparison purposes var t = $(this).text(), that = $(this); console.log(that.next()) // checks if it was the […]

发生一定量的滚动时隐藏元素

在滚动N个像素后,我只想在页面上隐藏一个元素。 $(window).scroll(function(){ if($(document).scrollTop() > 200){ $(‘.fixedelement’).css({‘display’: ‘none’}); } }); 我认为这可能会有效,并且在200px的滚动后,.fixedelement会消失。 唉,它不起作用。 有什么想法吗?

在错误和焦点的情况下,jquery滚动到特定的div位置

我有一个隐藏的div,在我的表单中有特定的错误消息。 在表单提交之前,我运行一个validation例程来检查是否所有必填字段都填充了一些文本。 如果没有,则在文本字段正上方可以看到具有“redAlert”类的div。 我还希望在显示错误消息时,对话框窗口向右滚动到此位置。 我知道有很多插件可用于此,但我想使用简单的Jquery来做。 我试图A)使用类redAlert找到第一个可见的div,b)通过调用此div上的.offset()然后c)在窗口对象上调用.scroll()找到它的位置但是我没有得到这个上class。 如果我完全错过了某些内容或者我的语法无效,请告诉我(我经常发现自己在使用Jquery时遇到语法错误)。 以下是我的代码。 另外 – 这只找到了可见的div(假设一次只有一个错误div),你能不能给我一个选择器来查找特定类的第一个可见div。 var errorDiv = $(‘.redAlert:visible’).attr(“id”); var scrollPos = $(“#”+errorDiv ).offset(); //alert(scrollPosition); // This alert always says ‘null’, why ? $(window).scroll(scrollPos); //Also tried scrollTo(); 非常感谢提前。

如何在向下滚动时缩小导航菜单?

对于我正在开发的新网站,我希望在用户向下滚动时缩小导航菜单。 类似于您在IBM站点上看到的内容: http : //www.ibm.com/us/en/ 我找不到任何jQuery实现或教程(我确信我必须搜索错误的关键字) 因此,如果有人能指出我正确的方向,那将会让我非常开心。 提前致谢!

Jquery如果滚动是一定数量的像素

是否有内置的jQuery函数来确定滚动的长度? 我正在尝试编写一个函数,如果用户从顶部滚动了50个像素,它将为div添加一个类。 所以代码看起来像这样: if(userHasScrolled) { $(‘#myDiv’).addClass(‘hasScrolled’); }

使用jQuery,如何强制访问者滚动到textarea的底部以启用提交按钮?

我有一个包含只读文本区域的注册表单。 我想要求任何访问者在提交按钮以提交其信息之前滚动到textarea的底部,其中包含条款和条件或许可协议。 这是示例CSS代码: textarea { width: 240px; height: 200px; overflow-y: scroll; } 这是示例HTML代码: Email Address Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor […]

jquery点击锚元素强制滚动到顶部?

jQuery超链接 – href值? 文本] [1] 我正在使用jquery和附加到锚元素的click事件来解决问题。 [1]: jQuery超链接 – href值? “这个”问题似乎是重复的,接受的答案似乎并没有解决问题。 对不起,如果这是不礼貌的礼仪。 在我的.ready()函数中,我有: jQuery(“#id_of_anchor”).click(function(event) { //start function when any update link is clicked Function_that_does_ajax(); }); 我的主播看起来像这样: link text 但是当单击链接时,会根据需要执行ajaxfunction,但浏览器会滚动到页面顶部。 不好。 我试过添加: event.preventDefault(); 在调用我执行ajax的函数之前,但这没有帮助。 我错过了什么? 澄清 我已经使用了每一种组合 return false; event.preventDefault(); event.stopPropagation(); 在我调用js ajax函数之前和之后。 它仍然滚动到顶部。