jQuery 点击切换动画

标签 jquery jquery-animate

我正在尝试学习如何使用 jQuery,并且偶然发现了一个问题。首先,我将向您展示导致问题的代码部分。

HTML

<div id="nav">
<div id="button"><p class="scroll" onclick="location.href='#ed';">Education</p></div>
<div id="button"><p class="scroll" onclick="location.href='#wxp';">Work Experience</p></div>
<div id="button"><p class="scroll" onclick="location.href='#oact';">Other Activities</p></div>
<div id="button"><p class="scroll" onclick="window.open('cv.pdf','mywindow');">View as PDF</p></div>
<div id="arrow_container"><div class="arrow" id="down"></div></div>

jQuery

$(document).ready(function(){
$("#arrow_container").toggle(
  function () {
    $("#nav").animate({marginTop:"0px"}, 200);
      }, function () {
    $("#nav").animate({marginTop:"-100px"}, 200);
  });
});

我希望 div #nav(最初部分位于屏幕之外)在单击 div #arrow_container 时向下移动。然后,当再次单击 #arrow_container 时,我希望 #nav 向上移动到其原始位置。

目前,这种情况还没有发生。您能告诉我问题是什么以及如何解决它吗?

编辑:a jsfiddle with the code, including some css

编辑2:问题似乎已经解决。还要感谢一个我忘记了用户名并且答案已被删除的人,但他有一些很棒的提示!谢谢!

最佳答案

试试这个:

$("#arrow_container").click( function(event){
    event.preventDefault();
    if ( $(this).hasClass("isDown") ) {
        $("#nav").stop().animate({marginTop:"-100px"}, 200);                            
    } else {
        $("#nav").stop().animate({marginTop:"0px"}, 200);
    }
    $(this).toggleClass("isDown");
    return false;
});

http://jsfiddle.net/us6sohyg/5/

关于jQuery 点击切换动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15367481/

相关文章:

jquery - 为什么 Highcharts 不接受我的 JSON 中的 UTC 值?

javascript - 在奇数位置设置动画时在 Chrome 中抖动图像

jQuery 不透明动画在 Internet Explorer 中扭曲定位

javascript - 将带有 calc 的 css 动画转换为 javascript animate

javascript - 如何观察更改 AngularJS 模型,其中复选框从 jquery 更改

jquery - 带有 div 的 HTML 和 CSS

javascript - 在滚动条上将导航文本旋转 45 度

javascript - 为什么这个滚动动画不起作用?

Jquery滚动到目标div水平移动

javascript - 如何提高 jQuery 动画性能?