2012-05-05 97 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