如何使用jQuery设置固定div的动画,而无需将页面滚动条重置为顶部

如何使用jQuery设置固定div的动画,而无需将页面滚动条重置为顶部,jquery,scroll,jquery-animate,css-position,Jquery,Scroll,Jquery Animate,Css Position,第一个帖子在这里,所以要友善;-) 我在页面主体中有一个固定的“菜单”div,大部分隐藏在“屏幕外”,在右边空白处,其初始顶部和右侧设置为CSS,仅显示一个“句柄” div可以滚动页面内容,我引入了jQuery的animate功能,可以在需要时将这个div滑出页边空白并返回,就像单击控制柄一样。这是一个简单的脚本,简化为 var x = document.getElementById('menu'); if (x.style.right == '0px') { $j("#men

第一个帖子在这里,所以要友善;-)

我在页面主体中有一个固定的“菜单”div,大部分隐藏在“屏幕外”,在右边空白处,其初始顶部和右侧设置为CSS,仅显示一个“句柄”

div可以滚动页面内容,我引入了jQuery的animate功能,可以在需要时将这个div滑出页边空白并返回,就像单击控制柄一样。这是一个简单的脚本,简化为

var x = document.getElementById('menu');
if (x.style.right == '0px') {

        $j("#menu").animate({
            right:'-148px'
        });
    } else {

        $j("#menu").animate({
            right:'0px'
        });
    }
问题在于,每当此菜单div动画被触发为“打开”或“关闭”时,页面将重置为顶部(其滚动条位置重置)。我尝试添加代码来捕捉并重置滚动条的位置,但这会在页面上引入“闪烁”效果

关于如何在不影响页面滚动位置的情况下启动动画的任何线索

最好的


基思

在点击事件结束时添加
return false
,或设置链接href至
href=“javascript:void(0)”

您可以使用复制此信息吗?谢谢提示Panjkaj。该函数由onClick和href='#'链接调用,而不是由div上的jQuery click函数调用。删除href会很好地排序它!最好的,Keith..抱歉,我的评论中有点输入错误-我的意思是将href重新定义为建议的javascript void引用解决了这个问题。谢谢就您所知,如果您有onClick,那么您可以像这样添加return false,
onClick=“javascript line1;javascript line2;return false;”
,然后您可以离开
href=“#”
。如果您有一些函数,如
onClick=“showMenu()”
,则添加
return false
,作为showMenu函数体的最后一行。再次感谢Pankaj-参考库的有用变体和代码段!:-)