使用$(window).height作为动画值

时间:2012-05-16 17:34:49

标签: jquery

我试图在这个jQuery函数中传递窗口高度作为动画的值而没有运气。有人可以告诉我这里我做错了吗?

下面是我的代码和小提琴。

$("slice").onclick().animate(function() {
    $(this).animate({
        var theHeight = $(window).height();
        top: '+=theHeight',
    });

});

http://jsfiddle.net/rH4JJ/1/

4 个答案:

答案 0 :(得分:2)

你需要这样的东西吗?

$(".slice").click(function () {
    var theHeight = $(window).height();
    $(this).animate({
        top: '+=' + theHeight
    });
});

DEMO: http://jsfiddle.net/rH4JJ/4/

是的,为确保在上面的示例position: relative样式中添加了slice元素。否则,更改top毫无意义。

答案 1 :(得分:1)

不起作用,因为它以六种不同的方式完全没有意义。

$('.slice').click(function() {
    var theHeight = $(window).height();
    $(this).animate({
        top: '+=' + theHeight
    });
});

您还必须提供slice元素position: relative,以便能够为其位置设置动画。

答案 2 :(得分:1)

除了VisioN的答案之外,请注意你需要给元素一个开头的位置(注意他们添加了位置:相对于那个小提琴中的css)

答案 3 :(得分:0)

你需要学习CSS(div的宽度是100%),jQuery和jsFiddle(在侧栏中选择jQuery)

$(".slice").on("click",function(){
    var theHeight = $(window).height();
    $(this).animate({
        top: "+="+theHeight
    });

});

编辑:我把Div放在绝对位置(通常是)但是相对来说比你的例子更好。 http://jsfiddle.net/rH4JJ/16/