我的问题是,如何触发(模拟或某事esle)滚动事件。在我的特殊情况下,我不想通过摧毁所有守恒来加载LinkedIn中的所有守恒,因为太多了!
我不需要PHP或Javascript解决方案。只需在chrome上使用dev-tools即可实现我的目标。
答案 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);
,即可滚动到您原来的位置。或者,您可以使用CustomEvent和dispatchEvent函数的组合伪造一个。
如果您想在滚动事件上触发某些内容,请使用window.addEventListener("scroll", function(evt) { ... });
侦听滚动并使处理功能执行您需要执行的操作。
答案 2 :(得分:10)
或者,您可以手动触发真实的scroll
事件,如下所示:
el.dispatchEvent(new CustomEvent('scroll'))
与双重滚动+1
和-1
像素相比,感觉不到骇人听闻(表现更好)...
这应该运行任何侦听scroll
事件的代码。
编辑:要支持IE11
或其他旧版浏览器,请考虑使用CustomEvent
的polyfill,例如mdn-polyfills
答案 3 :(得分:1)
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*/
})();
当您单击此书签时,将在当前页面的环境
内执行该鳕鱼