【发布时间】:2015-05-10 00:02:10
【问题描述】:
我使用下面的代码来模拟 .animate 切换效果。但是,当点击页面时会跳转到顶部。我试过使用 prevent 但它仍然会跳,所以我认为我遗漏了一些东西......有什么想法吗?
$(function() {
$('.menu-toggle').click(function() {
var clicks = $(this).data('clicks');
if (clicks) {// odd clicks
$(this).find('i').toggleClass('fa-bars fa-times');
$(this).toggleClass('cross');
$('.menu-over ul li').toggleClass('animated-fast slideInLeft')
$(".menu-over").animate({
left: "-50%",
}, 1000 );
$( ".mainsite" ).animate({
left: "0%",
width:"100%" ,
}, 1000 );
} else {// even clicks
$(this).find('i').toggleClass('fa-bars fa-times');
$(this).toggleClass('cross');
$('.menu-over ul li').toggleClass('animated-fast slideInLeft')
$(".menu-over").animate({
left: "0%",
}, 1000 );
$( ".mainsite" ).animate({
left: "50%",
width:"50%" ,
}, 1000 );
}
$(this).data("clicks", !clicks);
});
});
【问题讨论】:
-
你的点击元素是
<a>吗?检查preventDefault() -
在 a 的 href 中使用 javascript:void(0) 来避免任何操作
标签: jquery jquery-animate toggle page-jump