我已经使用animate和scrolltop创建了一个带有JavaScript调用的链接。它在任何地方都可以很好地工作,但是在Firefox中,它可以导航到整个其他页面。有什么想法吗?
<a href="javascript:$('html, body').animate({
scrollTop: $('#PAGETAG').offset().top + -500 }, 200);
$('#alertify-ok').trigger('click');"> [my text] </a>
在Chrome和IE中正常显示结果,警报框消失,页面滚动到我的标签。
答案 0 :(得分:0)
在该javascript末尾添加return false
答案 1 :(得分:0)
从内联脚本中提取逻辑。如果对多个元素执行此操作,则可以添加一个类来对此进行概括。您也可以使用数据元素来指定要滚动到的数据元素。然后,在执行逻辑之前,您只需在事件处理程序中取消click事件即可。
<a href="#" class="scrollToTargetAndAlert" data-target="PAGETAG"> [my text] </a>
<script>
$(function(){
$('.scrollToTargetAndAlert').on('click', function(e){
e.preventDefault();
var targetSelector = '#'+ e.target.getAttribute('data-target');
$('html, body').animate({
scrollTop: $(targetSelector).offset().top + -500
}, 200);
$('#alertify-ok').trigger('click');
});
});
</script>