Working demo of the following →
下面是一个简单的jQuery插件我只是提出,将滑第一个div,并将其放置在列表的末尾。我的评论下面的代码进一步解释,使这可以只是让你开始,你可以把它调整到您的需求,了解jQuery的:
// the plugin declaration
$.fn.rotateEach = function (opts) {
// cache the element set
var $this = this,
// create some default options
defaults = {
delay: 5000
},
// pass the defaults to settings with any override options
settings = $.extend(defaults, opts),
// repeated rotation function
rotator = function ($elems) {
// slide up first element in set
$elems.eq(0).slideUp(500, function(){
// detach first element
var $eq0 = $elems.eq(0).detach();
// append it to wrapper
$elems.parent().append($eq0);
// fade it back in
$eq0.fadeIn();
// call rotator on reselection of elements
// since first element was moved to end
setTimeout(function(){ rotator($($elems.selector)); },
settings.delay);
});
};
// initial rotator call
setTimeout(function(){ rotator($this); }, settings.delay);
};
// invoke plugin
$('.dynPanelContent').rotateEach();
如果要更改延迟你可以通过它作为一个选项:
$('.dynPanelContent').rotateEach({ delay: 7500 }); // 7.5 seconds
注:让他们包含在动画我也感动中.dynPanelContent
.dynPanelOpener
和.dynPanelTitle
。
See working example →
你是太棒了<3 <3 太谢谢你了! – Penumbra 2011-05-07 20:50:31
你介意教我如何将自己的参数添加到该插件吗?我想添加的参数会改变同时显示多少个元素。例如,在动态面板中将会有十六个元素,但是同时显示所有十六个元素会造成非常长的页面。 我想要显示四到六个元素,并让它们继续以上述方式滚动,同时只显示“数组”中的第一个x。 – Penumbra 2011-05-07 21:15:46
也许你可以在尝试自己实现它之后创建一个新问题......这是周末,我要去外面玩! – mVChr 2011-05-07 21:30:04