2013-05-14 2 views
0

Я стараюсь:
- Нажмите, чтобы оживить Div логотип
- Нажмите снова Div логотип и он должен перейти в исходное положение
- Нажмите на задний план, и он должен пойти в первоначальное (если он еще не был)одушевленные тумблер и фон

Я установил var, чтобы проверить, что такое позиция div, но он не работает, и я не знаю, правильное ли оно.

Вот играть: http://jsfiddle.net/xNMZ3/

HTML:

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

CSS:

body{margin:0;} 

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

#background { 
    position: absolute; 
    width: 100%; height: 100%; 
    background:yellow; 
    z-index:0; 
} 

Jquery:

$(function(){ 
    var hidden = $("#logo").css("bottom","-40" + "px"); 
    $("#logo").click(function(event) { 
    event.stopPropagation(); 

     if (hidden) { 
     $("#logo").animate({bottom: "0"}, 500); 
     } else { 
     $("#logo").stop.animate({bottom: "-40"}, 500); 
     } 

    }); 

    $("#background").click(function() { 
     if (!hidden) { 
     $("#logo").animate({bottom: "-40"}, 500); 
     }  
    }); 
}) 
+0

Вы устанавливаете 'hidden' на PageLoad, поэтому он всегда будет содержать что-то и быть truthy? – adeneo

ответ

0

Попробуйте это:

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

    $("#background").click(function() { 
     if (!hidden) { 
      $logo.animate({ 
       bottom: "-40" 
      }, 500, function() { 
       hidden = !hidden; 
      }); 
     } 
    }); 
}); 

FIDDLE DEMO

+0

Если вы нажмете логотип, затем фон, а затем снова логотип, вы должны дважды щелкнуть его, чтобы сделать его анимированным. – Nrc

+0

Исправлено: http://jsfiddle.net/xNMZ3/4/ –

+0

Я работаю, но я не понимаю скрытый =! Hidden; вы можете это объяснить? – Nrc

Смежные вопросы