簡體   English   中英

從ul中取3個隨機項,並使用random fadeIn和fadeOut追加到另一個列表

[英]Take 3 random items from a ul and append to another list with random fadeIn and fadeOut

所以到目前為止,我對這個功能還不滿意,但是現在我正為一個問題而苦苦掙扎。

我在這里做了一個小提琴: http : //jsfiddle.net/lharby/WhUJq/3/

我有一個被隱藏的ul,該函數從ul中提取了3 li個項目,並將其追加到可見的ul上。

我想做的是在這些項目上有一個很好的fadeIn和fadeOut函數。 我希望每個li的淡入度可以錯開。

這是功能:

 function rndSlider() {

var $show = 3, // Number of items to show
    $elemLength = $('.slider li').length, // Total items
    $firstPart = '<li><img src="/img/slider/0',
    $lastPart = '.jpg" /></li>',
    array = [], // array with all available numbers
    rnd, value, i,
    $wrapper = $('.slider-clone');
    $('.slider-clone li').remove();

for (i = 0; i < $elemLength; i++) { 
  array[i] = i + 1;
}

for (i = 0; i < $show; i++) { // pick numbers
  rnd = Math.floor(Math.random() * array.length); 
  value = array.splice(rnd,1)[0]; // remove the selected number from the array and get it in another variable

  $wrapper.append($firstPart + value + $lastPart);
  }
}

我想知道我是否需要$('。slider-clone li')。remove();上的每個函數; 應用於每個li元素(我在小提琴上有一個fadeIn函數,但不對fadeOut起作用)。

然后淡入$ wrapper.append($ firstPart + value + $ lastPart);

但是我似乎什么也無法工作,當我應用其中之一時,似乎使主功能無法運行。

TIA

嗯..那真是尷尬..當我發布這個..它很好..我認為這個問題可能與fadeIn和fadeOut異步完成有關。這里的問題是當創建子圖像時fadeOut效果回調將其刪除。

$(this).children().remove();

我已經更新了您的小提琴:

http://jsfiddle.net/WhUJq/15/

因此,如果我正確理解您的意思,那么問題就出在淡出()效果上了嗎?

更換:

$('.slider-clone li').each(function(){
    $(this).fadeOut(400);                           
});

使用以下代碼來解決該問題:

$wrapper.fadeOut('slow', function(){ $(this).children().remove(); });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM