2013-07-29 31 views
0

我試圖複製本網站如果語句更改頁面上的CSS位置

http://www.blueacorn.com/

我只是試圖讓建築物掉下來的東西,現在的工作,但IM上城事有一些麻煩。我有代碼工作從一個視口外部使用此代碼將視頻下移到視圖端口。

該第一部分被連接到一個按鈕的#clicky

$('document').ready(function() { 
    $('#clicky').bind('click', slideIt); 
}); 

該第二部分的ID是實際上使在div向下的功能。

function slideIt() { 
    $('#thing').animate(
    { top: "+=600px"}, 3000); 
}; 

現在我不想讓人們不斷地點擊按鈕,讓它進一步下去。我想要這樣,當他們點擊另一個按鈕時,不同的div會下來,之前那些div就會像城市一樣上升。所以我正在考慮發表if語句,但我不確定這是否可能。我迄今爲止的代碼是這樣的。它也不工作哈哈。

if ($('#thing').css('top') === '600px') { 
    function slideIt() { 
    $('#thing').animate(
    { top: "-=600px"}, 3000); 
}; 

}

林相當肯定的語法是完全錯誤的。我能做些什麼來解決這個問題?

+0

嘗試jsfiddle.net 加入小提琴,也儘量把if塊裏面的功能。 – cowboybebop

+0

好吧我現在就這樣做。 – YeahMKD

+0

我做了一個JS小提琴與幾個不同的東西。在最終狀態之後仍然需要讓按鈕不可點擊,你們認爲什麼? http://jsfiddle.net/AtY9m/ – YeahMKD

回答

0

兩件事... 1.只是使用靜態的最終值,它更簡單。 2.當按鈕被點擊時,您可以解除clicky元素的綁定,使其不再可點擊。

function slideIt() { 
    $('#clicky').unbind('click'); 
    $('#thing').animate(
    { top: "0px"}, 3000); 
}; 
+0

這工作完美。非常感謝 – YeahMKD

0

有幾種方法可以做到這一點。

function slideIt() { 
    if($('#thing').hasClass('running')) { 
     return; 
    }  
    $('#thing').addClass('running').animate(
    { top: "+=600px"}, 3000); 
};