2010-05-12 48 views
0

我真的不知道該怎麼問,所以我在這裏寫下了這個腳本: http://jsbin.com/acaxi/edit
這很簡單,我試圖創建滑動面板。我該如何製作需要手動輸入動態的js?

我知道有很多腳本能夠做到這一點,老實說有太多腳本。

如果有人認爲有一個插件,你可以推薦,而不是我的腳本,那麼請分享!

+0

對不起,你的問題到底是什麼?你的演示似乎工作得很好。 – Mottie 2010-05-12 20:46:16

回答

1

我仍然不確定你的問題是什麼,但我重新編寫了一段代碼,使其可以與任意數量的供稿面板(updated demo)配合使用。

$(document).ready(function(){ 

    var feeds = $('#feeds div'), 
     numFeeds = feeds.length; 

    feeds 
    .click(function(){ 
     $(this) 
     .animate({"margin-left": "-200px", opacity: 0}, "fast") 
     .animate({"margin-left": "200px"}, "fast"); 
     // add 2 since the id isn't zero based 
     var next = ($(this).index() + 2 > numFeeds) ? 1 : $(this).index() + 2; 
     $('div#feed' + next).animate({"margin-left": 0, opacity: 1}, "fast") 
    }) 
    .nextAll().css({ 'margin-left' : '200px', opacity : 0 }); 

}); 

添加提要動態,你要麼需要附加一個點擊功能添加到每個新飼料或使用jQuery的.live()事件處理程序。我選擇了以前的方法。這裏是updated demo,代碼:

$(document).ready(function(){ 

    var feeds = $('#feeds .feeds'), 
     numFeeds = feeds.length; 

    // initialize 
    feeds 
    .click(function(){ animateFeed(this, numFeeds); }) 
    .nextAll().css({ 'margin-left' : '200px', opacity : 0 }); 

    // add another feed 
    $('.addFeed').click(function(){ 
    $('<div id="feed' + (numFeeds++ +1) + '" class="feeds">' + numFeeds +'</div>') 
    .click(function(){ animateFeed(this, numFeeds); }) 
    .css({ 'margin-left' : '200px', opacity : 0 }) 
    .appendTo(feeds.parent()); 
    $('#num').text(numFeeds); 
    }) 

}); 

// animate feed panel 
function animateFeed(el, num){ 
var indx = $(el).index(), 
    next = (indx + 1) % num; 
$('.feeds').removeClass('active'); 
$(el) 
    .animate({ marginLeft : '-200px', opacity: 0}, 'fast') 
    .animate({ marginLeft : '200px'}, 'fast'); 
$('.feeds:eq(' + next + ')').animate({ marginLeft : 0, opacity : 1}, 'fast', function(){ $(this).addClass('active') }); 
} 
+0

這就是我正在尋找的東西,我的問題並沒有以最好的方式寫下來。我希望能夠添加儘可能多的Feed div,而無需爲每個新的手動點擊功能。所以如果我在頁面上有一個按鈕來創建一個名爲feed(n)的新div,那麼它會自動將它作爲滑動功能的一部分。不知道這是否更有意義? – Noor 2010-05-13 15:04:47

+0

我已經爲你更新了我的答案,我希望幫助:) – Mottie 2010-05-13 17:16:14