2012-05-05 94 views
-2

2×2的元素,我有以下容器:顯示上點擊

<div id="container"> 
     <div id="1">1</div> 
     <div id="2">2</div> 
     <div id="3" style="display:none">3</div> 
     <div id="4" style="display:none">4</div> 
     <div id="5" style="display:none">5</div> 
     <div id="6" style="display:none">6</div> 
    </div> 

    <div id="more_results">Show 2 more results</div> 

如何:當我在節目中點擊更多div來顯示未來2隱藏的div(3,4)。然後,如果他們再次單擊顯示格(5,6)

DEMO jsFiddle.

+0

你測試了什麼?您是否嘗試使用onClick並顯示/隱藏? –

+1

「讓它工作」不是一個問題。提示:問題通常有問號。 – Ryan

+1

對不起,並不意味着聽起來像這樣......我只是不知道用什麼方法來完成以下內容。對不起,英文不是我的第一語言。我會確保它聽起來不再那樣 – Yannick

回答

3
$('#more_results').click(function(){ 
    $('#container div:visible:last').nextAll('div').slice(0,2).show(); 
});​ 
0
$('#more_results').on('click',function (e) { 
    if (e.preventDefault) 
     e.preventDefault(); 
    else 
     e.stop(); 

    var num = 0; 
    $("#container").children().each(function() { 
     if ($(this).is(':hidden')) { 
     if (num <= 2) { 
      $(this).show(); 
      num++; 
     } 
    } 
}); 
0

首先,你並不需要所有這ID,使用單一CLASS代替!

DEMO JSFIDDLE

var visible = 2;  // setup here initial number of visible elements 

$('.element').slice(visible).hide(); // DOM READY // apply setup 

$('#more_results').click(function(){ 
    $('.element').slice(0,visible+=2).show(); // (for the first click: get Index 0 - to 4 (excluding 4)) and so on... we increase by 2 
}); 
1
$('#more_results').click(function(){ 

    var LoopTimes = 0; 
    $('#container').children().each(function() { 

     if ($(this).is(':visible') === false) { 

       $(this).show(); 
       LoopTimes = LoopTimes + 1; 
     } 

     if (LoopTimes === 2) { return false; } 

    }); 
});​ 

雷馬克:一個MOINS qu'il羅緞ABSOLUMENT utiliser未identifiant倒TES的div,IL vaut mieux NE奧布萊恩mettre杜兜售歐mettre德班。 Avec des classes,au lieu de faire $('#2')... tu peux ecrire $('。MaClasse')。eq(2)... Ca permet de faire du code plus propre,plus pro。 Sinon,qu'est-ce que tu fais si sur ta page,tu as plusieurs listes?

http://jsfiddle.net/wpbBJ/2/

+0

非常感謝...非常感謝大家......完美的作品。 – Yannick

+0

Merci beaucoup pour la remarque – Yannick

+0

Autre remarque:l'autre reponse tient en une ligne,chouette。 Le問題解決方案可以幫助您檢查是否需要修改,修改和刪除臨時修訂的文件。 Et si en plus de faire un show tu veux aussi changer de class de style,changer le texte ou autres? Avec la boucle que je je t'ai montre,pas de probleme,t'ajoutes une ligne $(this)。 et tu fais tes modifs。 Faut aussi penser la la maintenace du code pour plus tard。 Les解決方案不便於使用。 – frenchie