2012-05-16 58 views
1

我想把窗口高度作爲動畫的值傳遞給這個jQuery函數沒有運氣。有人能告訴我我在這裏做錯了嗎?

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

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

}); 

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

回答

1

你需要這樣的東西嗎?

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

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

是,以確保在上面的例子中position: relative風格加入slice元素。否則,更改top是沒有意義的。

+0

爲什麼要投票?評論請 –

+0

yeahp。這絕對有效。謝謝@visioN –

+0

@JoeIsaacson不客氣!在你的例子中看到我的國家的國旗很有趣:D – VisioN

1

不起作用,因爲它以六種不同的方式完全無意義。

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

你也得給slice元素position: relative爲了能夠動畫自己的位置。

+0

是的,我也想知道'+ ='在這裏工作:) – VisioN

+0

@VisioN:是的,這對我來說實際上是一個有用的外賣。 – chaos

1

除了視覺的回答,請注意,您需要給元素的位置,開始與(注意他們增加了現在的位置是:相對的CSS在撥弄)

0

你需要學習CSS(寬度是一個div 100%),jQuery和的jsfiddle(在邊欄中選擇jQuery的選擇上)

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

}); 

編輯:我把股利絕對(通常情況下),但相對的是從你的例子更好。 http://jsfiddle.net/rH4JJ/16/