如何在不滚动的情况下触发滚动事件

时间:2016-03-08 22:38:39

标签: javascript jquery google-chrome-devtools lazy-loading linkedin

我的问题是,如何触发(模拟或某事esle)滚动事件。在我的特殊情况下,我不想通过摧毁所有守恒来加载LinkedIn中的所有守恒,因为太多了!

我不需要PHP或Javascript解决方案。只需在chrome上使用dev-tools即可实现我的目标。

7 个答案:

答案 0 :(得分:11)

这不适用于Chrome或Firefox

window.scrollTo(window.scrollX, window.scrollY);

这适用于:

window.scrollTo(window.scrollX, window.scrollY - 1);
window.scrollTo(window.scrollX, window.scrollY + 1);

不花哨,但有效。

请注意,只需要第一行代码,另一行只是将滚动返回到原来的位置。我必须在按钮上触发滚动功能。如果你碰巧点击按钮两次,滚动的效果是可见的,它不是很花哨。这就是为什么我更喜欢添加第二行代码。

答案 1 :(得分:10)

你绝对需要一个Javascript解决方案。你认为还有什么可以做事件倾听/触发?

如果您想要触发滚动事件,只需在您的开发工具控制台中键入window.scrollTo(window.scrollX, window.scrollY);,即可滚动到您原来的位置。或者,您可以使用CustomEventdispatchEvent函数的组合伪造一个。

如果您想在滚动事件上触发某些内容,请使用window.addEventListener("scroll", function(evt) { ... });侦听滚动并使处理功能执行您需要执行的操作。

答案 2 :(得分:10)

或者,您可以手动触发真实的scroll事件,如下所示:

el.dispatchEvent(new CustomEvent('scroll'))

与双重滚动+1-1像素相比,感觉不到骇人听闻(表现更好)...

这应该运行任何侦听scroll事件的代码。

编辑:要支持IE11或其他旧版浏览器,请考虑使用CustomEvent的polyfill,例如mdn-polyfills

答案 3 :(得分:1)

在Firefox中,

window.scrollTo(window.scrollX, window.scrollY);对我不起作用。 没有任何事情发生,似乎是因为实际上不需要进行滚动才能到达你已经去过的地方。

但是window.scrollTo(window.scrollX, window.scrollY-1);正在发挥作用。通过此命令,将触发window.scroll事件函数。

(试图以欺骗为例: window.scrollTo(window.scrollX, window.scrollY-0)也无效。)

答案 4 :(得分:0)

有时你需要找到scrollElement。在我的情况下,我的scrollElement是正文并在移动设备上运行,所以下面的代码工作正常:

document.body.scrollTo(window.scrollX, window.scrollY + 1);

希望它会有所帮助。

答案 5 :(得分:0)

每个人都回答说,window.scrollTo(window.scrollX, window.scrollY);确实可以正常工作,但是在某些情况下,您应该在Windows当前滚动位置添加一个数字,例如,在我的情况下,我向scrollY添加了 1 然后像这样调用scrollTo方法:

window.scrollTo(window.scrollX, window.scrollY + 1);

答案 6 :(得分:-1)

一个小小的话题:

你不需要使用开发工具只需创建一个带有下面的书签" url"

    javascript:(function(){
        /*  Put your code here, e.g. the scrollng event  or add an 
           event listener to the current page or some other code*/
    })();

当您单击此书签时,将在当前页面的环境

内执行该鳕鱼