0

这是我的代码:

$('.expand-1').click(function(){
   $('.content-1').slideToggle('slow');
   $('.expanded-1').toggleClass('expanded-4');  
});

$('.expand-2').click(function(){
   $('.content-2').slideToggle('slow');
   $('.expanded-2').toggleClass('expanded-5');      
});

$('.expand-3').click(function(){
   $('.content-3').slideToggle('slow');
   $('.expanded-3').toggleClass('expanded-6');      
});

基本上,当您单击框时,它会展开框,但是当我单击下一个框时,其余框仍保持打开状态,我正在寻找的是一种方式,当单击 (Box1) 时,如果 Box2 或 Box3 仍处于打开状态,它们将关闭并仅打开 Box1,如果单击 Box2,则 Box1 和 Box3 将保持 Closed 状态,依此类推。

此页面上只有 3 个框。

4

5 回答 5

1

我建议你试试这个:

$('[class^="expand"]').on('click', function () {
   var klicked = this.className.slice(-1);
   var num = Math.floor(klicked)+3;
   $('[class^="content-"]').hide();
   $('[class^="content-'+klicked+'"]').slideToggle('slow');
   $(this).toggleClass('expanded'+num);
});
于 2013-06-17T09:45:37.280 回答
0

你可以在你的盒子里添加一个通用类,比如box,然后执行以下操作,

$(".box").click(function(){
    $(".box").hide();
    $(this).slideDown('slow');

    //Do something else with the element
});
于 2013-06-17T09:27:32.620 回答
0

将类 .content 添加到您的所有内容和

$('.expand-1').click(function(){
    $('.content').not($('.content-1')).slideUp('slow'); // Close all open content except 1 
    $('.content-1').slideToggle('slow');
    $('.expanded-1').toggleClass('expanded-4'); 
});
于 2013-06-17T09:27:44.110 回答
0

最好的方法是关闭所有盒子,然后打开你想要的盒子。如果您为所有框使用一个类来展开/关闭框,则更好。

您的 HTML 应如下所示:

<div class="open">
  content 1
</div>
<div class="open">
  content 2
</div>
<div class="open">
  content 3
</div>

open 将是触发器类。

$(document).ready( function(){
   $('.open').click(function() {
       $('.open').fadeOut('slow');
       $(this).fadeIn('slow');
   });
})    
于 2013-06-17T09:27:51.283 回答
0

试试看,

$('.expand-1').click(function(){
   $('.content-1').slideDown('slow');
   $('.content-2,.content-3').slideUp('fast');
   $('.expanded-1').toggleClass('expanded-4');  
});

$('.expand-2').click(function(){
   $('.content-2').slideDown('slow');
   $('.content-1,.content-3').slideUp('fast');
   $('.expanded-2').toggleClass('expanded-5');  
});

......
于 2013-06-17T09:27:53.830 回答