单击后,它会滚动到页面顶部
It scrolls to the top of the page after clicking
我有以下代码来切换切换按钮图像:
$("#invio_scatola_on, #invio_scatola_off").click(function(){
$("#invio_scatola_off").toggle();
$("#invio_scatola_on").toggle();
});
当它被执行时,浏览器会转到页面顶部。为什么?
您可能需要阻止单击的任何元素的默认操作:
$("#invio_scatola_on, #invio_scatola_off").on('click', function(e){
e.preventDefault();
$("#invio_scatola_off, #invio_scatola_on").toggle();
});
根据您提供的少量信息,如果浏览器滚动到顶部,则意味着您需要阻止其默认行为。
检查浏览器是否将"某些内容"附加到当前 URL 中...
你可以这样防止这种情况:
$("#invio_scatola_on, #invio_scatola_off").click(function(event){
// prvent default behavior
event.preventDefault();
$("#invio_scatola_off").toggle();
$("#invio_scatola_on").toggle();
});
请参阅 jQuery event.preventDefault() 以获取有关其工作原理的更多信息。
我只能猜测,因为你没有发布你的html代码。很可能您的两个元素是与href="#"
的链接。单击处理程序后,将触发常规操作,导航到网站上的锚点#
(顶部)。
尝试:
$("#invio_scatola_on, #invio_scatola_off").click(function(event){
$("#invio_scatola_off").toggle();
$("#invio_scatola_on").toggle();
event.preventDefault();
});
看看是否有帮助。有关使用 jQuery 取消事件的更多信息,请点击此处:
http://api.jquery.com/event.preventDefault/
我认为您将锚标签的单击与 href绑定为# ,以便您可以使用 javascript 的 preventDefault(),例如:
$("#invio_scatola_on, #invio_scatola_off").click(function(evt){
evt.preventDefault();
$("#invio_scatola_off").toggle();
$("#invio_scatola_on").toggle();
});
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 如何在从顶部滚动时暂停转盘/滑块,并在滚动到顶部时重新开始
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- 如何将“切换滑块内容”的顶部滚动到视口的中心
- 修复了在页面顶部滚动时居中导航的问题
- 每次在顶部滚动顶部重置
- 为什么有时滚动顶部/滚动左不可写
- 当目标处于顶部滚动状态时,如何从菜单中激活项目
- 请在顶部滚动一次
- 当用户从顶部滚动超过一定距离时,执行Javascript
- 向表格添加水平顶部滚动条的Aurelia方式
- 如何使文档(页面)向左和顶部以及相对于正文的滚动(向左和顶部滚动)
- 从导航底部而非页面顶部滚动至Div
- 顶部滚动-可替代preventDefault()函数
- “无限scroll"代码只适用于顶部滚动
- 当导航栏固定顶部滚动时,引导捕获
- 单击时从窗口顶部滚动到特定位置
- 花式框弹出窗口始终在顶部滚动