Mel*_*zee 3 jquery scrollto jquery-animate
我的问题是,当我点击一个(固定位置)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;
});
});
Run Code Online (Sandbox Code Playgroud)
如果触发元素是空锚
<a href="#">some val</a>
Run Code Online (Sandbox Code Playgroud)
然后点击后位置哈希变为"#".通过找不到与空哈希相对应的区域,浏览器将页面滚动到顶部.
这是你可以做的:
$('a[href=#]').on('click', function(e){
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
或者你可以像10年前那样做:将空锚点href更改为空的javascript语句:
<a href="javascript:void();">some val</a>
Run Code Online (Sandbox Code Playgroud)
更新
查看标记后,我得到了解决方案.您所要做的就是确保您.container具有滚动功能.动画时,元素获取css属性overflow : hidden(我真的不知道从哪里得到它),并且那种重置你的滚动位置.因此,您所要做的就是将其添加到样式表中:
.container{
overflow: auto !important;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |