im使用以下代码模拟一个。但是,单击页面时会跳到顶部。我已经尝试使用预防,但它仍然跳跃,所以我认为我缺少某些想法?
$(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);
});
});
尝试在函数末尾进行return false
。问候
您应该在单击事件中具有.preventDefault()
:
$('.menu-toggle').click(function(event) {
event.preventDefault();
,或者您可以使用return false;
,在您的情况下应以相同的方式工作:
$('.menu-toggle').click(function(event) {
return false;
弄清楚了。感谢您的所有建议,但奇怪的是它们都没有奏效。造成宽度的是宽度的动画。改为将其更改为填充效果,现在单击时所有放置。