2014-01-14 33 views
1

此代碼很好地淡入和淡出列表項。但我想列表中的項目被隨機定位在一個格內衰落列表項的隨機位置

$(function() { 
    var list_slideshow = $("#site_slideshow_inner_text"), 
     listItems = list_slideshow.children('li'), 
     listLen = listItems.length, 
     i = 0, 
     changeList = function() { 
      listItems.eq(i).fadeOut(300, function() { 
       i += 1; 
       if (i === listLen) { 
        i = 0; 
       } 
       listItems.eq(i).fadeIn(300); 
      }); 
     }; 
    listItems.not(':first').hide(); 
    setInterval(changeList, 1000); 
}); 

我可以添加什麼來獲得隨機定位?

+0

這取決於100%你現在是如何定位他們。你有什麼嘗試? –

回答

1

像這樣的東西應該讓你開始,你需要提供更多的信息在問題上得到更好的答案,即。你用代碼示例嘗試過的東西。

$('li').each(function(){ 
var randomTop = $('div').height()*Math.random(); //random top position 
var randomLeft = $('div').width()*Math.random(); //random left position 

$(this).css({ //apply the position each li 
     top  : randomTop, 
     left : randomLeft 
    }); 
}); 

FIDDLE

+0

非常感謝您的回覆。我已經在這裏工作得很好:[鏈接](http://jsfiddle.net/78w6M/18/),但我發現一些列表項突破了框。有沒有辦法讓整個列表項在容器內? – Sly

+0

我在'li'里加了一些填充,並在計算隨機位置時考慮了'li'的高度和寬度,這應該是個訣竅。請參閱http://jsfiddle.net/78w6M/21/ – Sionnach733

+0

是否有效?如果是的話,考慮接受這個答案。 – Sionnach733