1

我有三个隐藏 div 的按钮,当我单击一个时,我希望内容滚动到底部,然后当我单击另一个时,我希望页面保持原位但加载新内容。

我尝试过变量和 if 语句

var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("html").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});

有任何想法吗?感谢您的回答!

编辑:对不起,我真的不认为我已经解释过自己, http ://ephemurl.com/4w/5ws在这里,是我现在所拥有的,最后 6 部分反弹滚动到文档的底部,但我希望这只发生一次,然后在接下来的 5 次点击中不要动画,因为你已经在那里了......

4

3 回答 3

7

只需使用 $(body) 而不是 $(html)

演示 http://jsfiddle.net/APebY/

$(function(){
var i=0;
$('#link-slide13').click(function(){
        if (i==0){//nothing's been scrolled
            $("body").animate({ scrollTop: $(document).height() }, "slow");
            i=1;

        }else{
            //don't do anything
        }
});
});

您还可以在事件触发器中使用 unbind 使其仅运行一次

$('#link-slide13').click(function(){

            $("body").animate({ scrollTop: $(document).height() }, "slow");

            $(this).unbind("click");
});
于 2011-03-24T10:25:22.873 回答
1

不知道你到底想做什么,我想这应该对你有帮助,

$('#link-slide13').toggle(function(){
    $("html").animate({ scrollTop: $(document).height() }, "slow");
},function(){
    //don't do anything
})

祝你好运

于 2011-03-24T10:10:03.627 回答
0

我们无法观看您的 html,但我认为您仅将该功能应用于一个按钮女巫 id="link-slide13"。如果它必须在三个按钮中工作,请更改您的 JQuery 选择器。(向所有按钮添加一个类,您可以通过 $(".className") 轻松选择所有按钮)。

那么,什么是按钮?链接输入?如果按钮是链接

<a href="#">

您可以在函数末尾添加“return false”语句。这可以防止链接默认工作,并且导航器会转到文档的顶部。

但是,真的……有什么问题?

于 2011-03-24T10:13:05.850 回答