2014-02-10 33 views
0

我正在寻找一个简单的插件来旋转(在循环和替换的意义上)的元素列表。简单的ul显示/隐藏旋转的jQuery插件

说我有:

<ul class="rotate-this"> 
    <li>element 1</li> 
    <li>element 2</li> 
    <li>...</li> 
</ul> 

我想一个插件,我会用这样的:

$('.rotate-this').rotate({interval: 300}); 

,并显示/隐藏下一个元素列表中的每300毫秒。 必须有一些东西,但我无法找到它...

回答

1

检查:http://jsfiddle.net/mSmbv/

function run() { 
     //$("li").click(function() { 
     var prev = $(".rotate-this li:first-child"); 
     $.unique(prev).each(function(i) { 
      $(this).delay(i*600).slideUp(function() { 
      $(this).appendTo(this.parentNode).slideDown(); 
      }); 
     }); 
     //}); 
    } 

    window.setInterval(run,1000); 
0

您可以创建这样

$.fn.rotate = function (obj) { 
    $items = this.children(); 
    window.cnt = 0; 
    if (obj.start == true) { 
     window.rotInt = setInterval(function() { 
      cnt == $items.length ? cnt = 0 : ++cnt; 
      $items.eq(cnt).show().siblings().hide(); 
     }, obj.time); 
    } else { 
     clearInterval(window.rotInt); 
    } 
} 
$('.rotate-this').rotate({ 
    time: 1000, 
    start: true 
}); 

要结束自己的函数像这样旋转设置开始为假

$('.rotate-this').rotate({ 
    time: 1000, 
    start: false 
}); 

DEMO