2013-05-14 163 views
0

當我點擊(在示例中點擊切換)時,我創建了一個div動畫。當我再次單擊時,我想要動畫到初始位置。 (?我嘗試用一​​個變量,如果,它不工作,也許還有另一種更簡單的方法或有任何錯誤)動畫點擊切換

請檢查你的答案在這裏:http://jsfiddle.net/uXVxH/2/

HTML:

<div id="logo"></div> 

CSS:

#logo { 
    position:fixed; 
    bottom:-40px;left: 5%; 
    width:70px; height:80px; 
    background:blue; 
    cursor:pointer; 
} 

JQUERY:

$(function(){ 
    /* CLICK simple 
    $("#logo").click(function() { 
     $("#logo").animate({bottom: "0"}, 1200) 
    }); 
    */ 

    /*click toggle ?*/ 
    var hidden = true; 
    $("#logo").click(function() { 
     if (hidden) { 
     $("#logo").animate({bottom: "0"}, 1200); 
     } else { 
     $("#logo").animate({bottom: "-40"}, 1200); 
     } 
     state = !hidden; 
    }); 

}) 
+0

爲什麼不能將隱藏的值設置爲false,如果(隱藏)loop.it應該可以工作然後 – zamil 2013-05-14 11:18:44

回答

1

你的例子是工作,但你做了一個小錯誤變化statehidden變量。

var hidden = true; 
$("#logo").click(function() { 
    if (hidden) { 
    $("#logo").animate({bottom: "0"}, 1200); 
    } else { 
    $("#logo").animate({bottom: "-40"}, 1200); 
    } 
    hidden = !hidden; 
}); 
+1

這是重點。愚蠢的錯誤。謝謝! – Nrc 2013-05-14 11:43:44

3

試試這個:

var hidden = true; 
$("#logo").click(function() { 
    var bottom = hidden ? "0" : "-40"; 
    $(this).stop().animate({bottom: bottom}, 1200); 
    hidden = !hidden; 
}); 

FIDDLE DEMO

+0

現在你需要一個'.stop()'或者在完整的回調中切換'hidden'變量 – Alexander 2013-05-14 11:19:18

+0

是的。這是一個有效的觀點。謝謝! – 2013-05-14 11:20:15

+1

這工作!我從來沒有見過像你那樣的「?」你能解釋一下嗎? – Nrc 2013-05-14 11:48:37

1

試試這個:

CSS

#logo { 
    position:fixed; 
    bottom:-40px;left: 5%; 
    width:70px; height:80px; 
    background:blue; 
    cursor:pointer; 
    transition: all 0.5s; 
} 

.long { 
    bottom: 0 !important; 
    transition: all 0.5s; 
} 

JS

$(function(){ 
    $("#logo").click(function() { 
     $(this).toggleClass('long'); 
    }); 
}); 

JS fiddle link

+0

這是一個很好的解決方案。但是這個css3在IE瀏覽器9和之前不起作用。所以這個案例需要一個解決方案,並且會增加更多的問題。 – Nrc 2013-05-14 11:43:17

+0

的確,動畫不會在IE9及以下版本中運行,但性能會更好。我聽說微軟正在開發一個新的JavaScript引擎,就像Google一樣。這不會修復它的IE8和以下,但希望爲IE9 +,如果我讀微軟新的JS引擎是正確的課程。 – Ziinloader 2013-05-14 12:06:41