我創建了一個非常簡單的jQuery徽標旋轉插件,但第二個實例從第一個實例覆蓋了我的vlaues。多個實例覆蓋值
(function($){
$.fn.clientRoll = function(settings) {
var config = {
'speed': 10000,
'items': 3
};
var settings = $.extend(config, settings);
var itemRoll = $(this);
var childHeight = $(itemRoll).children().eq(0).outerHeight();
$(itemRoll).height(childHeight);
$.fn.clientRollLeft = function() {
var logoWidth = $(this).children(':first').innerWidth();
$(this).children(':first').not(':animated').clone().css({ opacity: 0, marginLeft: "" }).insertAfter($(this).children(':last'))/*.delay(200).animate({ opacity: 1 })*/;
$(this).children(':first').not(':animated').animate({
marginLeft: -(logoWidth), opacity: 0 }, function() {
$(this).remove();
});
$(this).children(":gt(" + (config.items - 1) + ")").css({ opacity: 0, background: "#FF0" }).delay(300).animate({ opacity: 1, background: "#FFF" });
}
};
})(jQuery);
所以每當我寫的是這樣的: $( 「客戶端卷DIV> UL」)clientRoll。({ '速度':2000年, '項目':4}); $( 「文章輥」。)clientRoll({ '項':3, '速度':1500})。
從第一實例中的「項目」值是由從第二個實例的值3覆蓋。
嘗試把一些延遲動畫中的... – sourcecode
VAR itemRoll = $(本);然後你像這樣使用它:$(itemRoll)所以你在一個沒用的jquery對象中嵌入你的DOM元素兩次。將其更改爲:var itemRoll = this; –
@roasted謝謝,我監督了。 – twenty