【发布时间】:2012-10-16 05:21:59
【问题描述】:
我的问题是当我点击一个(固定位置)div 为另一个 div 设置动画时,整个页面会跳到顶部。我已经尝试过 preventDefault 并返回 false,但似乎无法解决问题!请帮忙。
这是脚本
$(document).ready(function(){
$("#close").click(function(){
$("#info").animate({
width: "0",
height:"0"
}, 100 );
$("#info").hide(),
$(".container").animate({
left:"0",
width:"100%"
}, 100 );
return false;
});
$(".sidebar").click(function(evt){
evt.preventDefault();
$("#info").show(),
$("#info").animate({
width: "25%",
height:"100%",
left:"0"
}, 100 );
$(".container").animate({
left: "25%",
width:"75%"
}, 100 );
return false;
});
});
【问题讨论】:
-
尝试将间隔更改为 1500 而不是 100
-
在 hide() 和 show() 之后使用逗号而不是分号有什么特别的原因吗?
-
Susanth - 只是让 div 的动画变慢,页面仍然跳到顶部
-
mason81 我已将逗号更改为分号。如您所见,我是一名学习者:)
-
@Bondye 没关系 -
return false;会同时处理preventDefault和stopPropagation...所以在这种情况下,如果在return false;上使用evt.preventDefault(),则evt.preventDefault()是多余的结束。
标签: jquery jquery-animate scrollto