2010-05-05 199 views
0

我已经构建了一个水平手风琴,点击动画。我想自动旋转功能添加到它,因此幻灯片将自行旋转,每三秒钟,但我不知道这部分出...如何添加自动旋转jQuery水平手风琴

下面是水平手风琴代码:

<div id="slideshow"> 
<ol id="slides"> 
    <li class="slide open active" id="slide-1"> 
     <a href="recipe_detail.aspx?did=1014"><img src="media/images/recipes/featured-tuna-chop-chop-salad.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-2"> 
     <a href="recipe_detail.aspx?did=1016"><img src="media/images/recipes/featured-tuna-rolls-with-GS-sauce.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-3"> 
     <a href="recipe_detail.aspx?did=1101"><img src="media/images/recipes/featured-salmon-breakfast-strudel.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-4"> 
     <a href="recipe_detail.aspx?did=775"><img src="media/images/recipes/featured-chunky-tuna-potato-salad.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-5"> 
     <a href="recipe_detail.aspx?did=988"><img src="media/images/recipes/featured-clam-and-artichoke-mini.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-6"> 
     <a href="recipe_detail.aspx?did=598"><img src="media/images/recipes/featured-salmon-party-app.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
    <li class="slide open" id="slide-7"> 
     <a href="recipe_detail.aspx?did=425"><img src="media/images/recipes/featured-tortellini-tuna-salad.jpg" alt="" /></a> 
     <a class="slidebutton" href="javascript:void(0);"></a> 
    </li> 
</ol> 
<ol id="slidecontents"> 
    <li class="slidecontent open" id="content-slide-1"> 
     <p><span class="featureRecipeTitle">Stir Fried &ldquo;Chop Chop&rdquo; Salad</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=1014"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-2"> 
     <p><span class="featureRecipeTitle">Tuna Rolls with Fresh Ginger Dipping Sauce</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=1016"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-3"> 
     <p><span class="featureRecipeTitle">Mermaid's Breakfast Strudel</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=1101"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-4"> 
     <p><span class="featureRecipeTitle">Chunky Tuna Potato Salad</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=775"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-5"> 
     <p><span class="featureRecipeTitle">Clam &amp; Artichoke Mini Melts</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=988"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-6"> 
     <p><span class="featureRecipeTitle">Salmon Party Spread Appetizer</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=598"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
    <li class="slidecontent" id="content-slide-7"> 
     <p><span class="featureRecipeTitle">Tortellini Tuna Salad</span></p> 
     <div class="recipeSliderGetRecipe"><a href="recipe_detail.aspx?did=425"><img src="media/images/recipes/button-get-the-recipe.png"></a></div> 
    </li> 
</ol> 

下面是其属下的JavaScript:

$(document).ready(function() { 
    $('#nav li').hover(function() { 
     $(this).addClass('hover'); 
    }, function() { 
     $(this).removeClass('hover'); 
    }); 

    $('.slide') 
     .bind('open', function() { 
      if(! $(this).hasClass('open')) { 
       $(this).next().trigger('open'); 
       $(this).addClass('open'); 
       $(this).animate({right: "-=423px"}); 
      } else { 
       $(this).prev().trigger('close'); 
      } 
      $(this).siblings().removeClass('active'); 
      $(this).addClass('active'); 
     }) 
     .bind('close', function() { 
      if($(this).hasClass('open')) { 
       $(this).removeClass('open'); 
       $(this).animate({right: "+=423px"}); 
       $(this).prev().trigger('close'); 
      } 
     }); 

    $('.slidebutton').click(function() { 
     $(this).parent().trigger('open'); 
     $('#content-' + $(this).parent().attr('id')).trigger('show'); 
    }); 

    $('.slidecontent').bind('show', function() { 
     $('.slidecontent').removeClass('open'); 
     $(this).addClass('open'); 
    }); 

    $('#nav>li').hover(function() { 
     $(this).addClass('hover'); 
    }, function() { 
     $(this).removeClass('hover'); 
    }); 
}); 

如果有人有一些智慧为我做的幻灯片自动旋转,每3秒会很棒。谢谢!

回答

0

首先 - 我不觉得你使用prev()的方式。trigger('something')我不知道它是什么。它看起来像将事件填充到其他元素。我不明白这一点;)

至于这个问题:你应该做这样的事情:

setInterval(function(){ 
$next=$('.active').next('.slide'); 
if($next.length==0){ $next=$('.slide:first'); } 
$next.find('.slidebutton').triggerHandler('click'); 
},3000); 

您可能需要更改一些类等

+0

@naugtur - 非常感谢你 - 像梦一样工作!谢谢谢谢 – 2010-05-06 16:35:39