如何一次只打开一个手风琴滑动

时间:2013-09-26 10:43:18

标签: javascript jquery

我有一个我正在研究的网站,它全部基于手风琴风格的幻灯片。问题是我使用的代码默认情况下不会关闭打开的幻灯片。我需要它,以便当您单击一张幻灯片时它会打开,然后当您单击另一张幻灯片时它会关闭第一张幻灯片,依此类推。我从页面上发布了所有JS,我可以添加什么来使它只允许一次打开一张幻灯片?

<script> 
if ($(this).scrollTop() > 100) {
$('#up').fadeIn();
} else {
$('#up').fadeOut();
}

$(window).scroll(function(){
if ($(this).scrollTop() > 100) {
$('#up').fadeIn(); 
} else {
$('#up').fadeOut(); 
}
});

$('#up').click(function(){

$('html, body').animate({scrollTop:0}, 800);  
});
</script>

<!-- Menu -->
<script>    
$('.link').click(function() {

var link = $(this).attr('href');
$('html,body').animate({scrollTop: $(link).offset().top - 80}, 800);
});
</script>

<!-- Collapse Toogle -->
<script>      
$('.accordion-toggle').click(function() {

$('html,body').animate({scrollTop: $(this).offset().top - 105}, 800); 
});

2 个答案:

答案 0 :(得分:2)

您可以更改所点击项目的类别。

$('.accordion-toggle').click(function() {

    for (c=0;c<$('.collapse').length;c++){
        $("#"+$('.collapse')[c].id).collapse('hide');
    }

    $('html,body').animate({scrollTop: $(this).offset().top - 105}, 800);
});

因此,当您点击.menu-item时,您可以获得所有.menu-item-clicked并将其更改为关闭。

答案 1 :(得分:-1)

jQueryUI有一些非常有用的小部件,包括accordions。请使用它,而不是尝试重新创建行为。 (除非你想知道它是如何工作的,否则为学习目的创建一些东西是有效的。但是你的问题应该指明这一点。)