【问题标题】:jquery toggle with multiple triggers带有多个触发器的jquery切换
【发布时间】:2012-08-16 22:10:29
【问题描述】:

我有一个 jquery 切换,我需要使用 3 个单独的触发器来触发它。我找到了这个: jQuery toggle single div with two different triggers

...但我需要切换到特定高度的动画。这是我当前的代码:

<script type='text/javascript'>
$(function(){
$(".nav-toggle").toggle(function(){
    $("#main-nav-dropdown").animate({height:146},500);
},function(){
    $("#main-nav-dropdown").animate({height:20},500);
});
});
</script>

和html

<div id="main-nav-dropdown">
    <div class="capsule">

            <nav id="main-nav">
            <ul>

                <li><span class="nav-toggle">1</span>
                </li>
                <li><span class="nav-toggle">2</span>           
                </li>
                <li><span class="nav-toggle">3</span>               
                </li>

                <li class="last"><a href="">4</a></li>
            </ul>
        </nav>

    </div>
</div>

任何帮助将不胜感激。谢谢。

【问题讨论】:

    标签: jquery toggle


    【解决方案1】:

    我不知道你为什么要做你想做的事......所以我不会问,相反,我会提供。

    $(".nav-toggle").toggle(function(){
      var pI = $(this).parent().parent().find($(this).parent()).index(),
          toggleHeight;
    
      switch(pI){
        case 0:
            toggleHeight = "146"
            break;    
        case 1:
            toggleHeight = "380"
            break;  
        case 2:
            toggleHeight = "550"
            break;        
    
        case 'default' :
            toggleHeight = "146"
            //fallback solution if for some reason we can't get the index.
            break;       
      }
    
      $("#main-nav-dropdown").animate({height:toggleHeight},500); 
    
    },function(){
        $("#main-nav-dropdown").animate({height:20},500);
    });
    

    基本上,var pI 检查 span 的父 LI 的索引。如果它是 0,那么我们将 togglHeight 设置为 146,如果它是 1(或列表中的第二个 li),那么我们将它设置为 380,等等。只需使用一个简单的女巫语句来比较不合理.

    【讨论】:

    • 谢谢,但我仍然遇到同样的问题,如果单击第一个触发器来展开 div,则需要单击第二个(或第三个)两次才能收缩它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 2012-07-19
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多