函数后结束javascript?

函数后结束javascript?,javascript,Javascript,我的javasctipt有问题。基本上,它设置为隐藏两个div层,用户每次按下按钮时,这两个div层会依次淡入 因此,如果他们按下一次,div layer 1将隐藏,div layer 2将淡入。如果他们再次按下,div layer 2将隐藏,layer 3将淡入 它工作得很好,但是如果用户第三次按下按钮,所有的div都会相互叠加,然后全部取消隐藏。我能阻止这一切发生吗 我是一个javascript初学者,不知道太多,所以如果有人可以告诉我,这将有帮助。谢谢 <script> $("

我的javasctipt有问题。基本上,它设置为隐藏两个div层,用户每次按下按钮时,这两个div层会依次淡入

因此,如果他们按下一次,div layer 1将隐藏,div layer 2将淡入。如果他们再次按下,div layer 2将隐藏,layer 3将淡入

它工作得很好,但是如果用户第三次按下按钮,所有的div都会相互叠加,然后全部取消隐藏。我能阻止这一切发生吗

我是一个javascript初学者,不知道太多,所以如果有人可以告诉我,这将有帮助。谢谢

<script>
$(".modcontentnewestmore").hide();
$(".modcontentnewestmore2").hide();
$('.morebutton').click(function () {
    if ($('.modcontentnewestmore').is(":hidden")) {
         $(".modcontentnewestfirst").fadeOut(500);
         $('.modcontentnewestmore').delay(700).fadeIn(500);

    } else {

        $('.modcontentnewestmore').fadeOut(500);
              $('.modcontentnewestmore2').delay(700).fadeIn(500);



    }


  });


</script>

$(“.modcontentnewestmore”).hide();
$(“.modcontentnewestmore2”).hide();
$('.morebutton')。单击(函数(){
如果($('.modcontentnewestmore')。是(“:hidden”)){
$(“.modcontentnewestfirst”).fadeOut(500);
$('modcontentnewestmore').delay(700).fadeIn(500);
}否则{
$('modcontentnewestmore')。淡出(500);
$('.modcontentnewestmore2').delay(700).fadeIn(500);
}
});
试试这个:

<script>
    $(".modcontentnewestmore").hide();
    $(".modcontentnewestmore2").hide();

    $('.morebutton').click(function () {
        if ($('.modcontentnewestfirst').is(":visible")) {
             $(".modcontentnewestfirst").fadeOut(500);
             $('.modcontentnewestmore').delay(700).fadeIn(500);

        } else if ($('.modcontentnewestmore').is(":visible")) {
            $('.modcontentnewestmore').fadeOut(500);
            $('.modcontentnewestmore2').delay(700).fadeIn(500);

        } else {
            $('.modcontentnewestmore2').fadeOut(500);
            $('.modcontentnewestfirst').delay(700).fadeIn(500);
        }
    });
</script>

$(“.modcontentnewestmore”).hide();
$(“.modcontentnewestmore2”).hide();
$('.morebutton')。单击(函数(){
如果($('.modcontentnewestfirst')。是(“:可见”)){
$(“.modcontentnewestfirst”).fadeOut(500);
$('modcontentnewestmore').delay(700).fadeIn(500);
}如果($('.modcontentnewestmore')为(“:可见”),则为else{
$('modcontentnewestmore')。淡出(500);
$('.modcontentnewestmore2').delay(700).fadeIn(500);
}否则{
$('modcontentnewestmore2')。淡出(500);
$('.modcontentnewestfirst').delay(700).fadeIn(500);
}
});

作为一条建议,您可以很容易地用css和html完成这项工作,并且避免在javascript被阻止的浏览器中进行任何故障排除

<style type='text/css'>
div.div1{
    position:absolute;
    width:100px;
    height:100px;
    background:rgb(240,240,240);
    border:1px solid rgb(220,220,220);
    transition:all 500ms ease;
    -moz-transition:all 500ms ease;
    -webkit-transition:all 500ms ease;
    -o-transition:all 500ms ease;
    opacity:0;
}
div.div2{
    position:absolute;
    width:100px;
    height:100px;
    background:rgb(240,240,240);
    border:1px solid rgb(220,220,220);
    transition:all 500ms 700ms ease;
    -moz-transition:all 500ms 700ms ease;
    -webkit-transition:all 500ms 700ms ease;
    -o-transition:all 500ms 700ms ease;
}
input.button:checked~div div.div1{
    opacity:1;
    transition:all 500ms 700ms ease;
    -moz-transition:all 500ms 700ms ease;
    -webkit-transition:all 500ms 700ms ease;
    -o-transition:all 500ms 700ms ease;
}
input.button:checked~div div.div2{
    opacity:0;
    transition:all 500ms ease;
    -moz-transition:all 500ms ease;
    -webkit-transition:all 500ms ease;
    -o-transition:all 500ms ease;
}
</style>
<input class='button' type='checkbox'/>
<div>
    <div class='div1'>
        div 1
    </div>
    <div class='div2'>
        div 2
    </div>
</div>

第1分部{
位置:绝对位置;
宽度:100px;
高度:100px;
背景:rgb(240240);
边框:1px实心rgb(220220);
过渡:所有500ms缓解;
-moz转换:所有500毫秒的易用性;
-webkit转换:所有500毫秒易用性;
-o型过渡:所有500毫秒的缓解;
不透明度:0;
}
第2分部{
位置:绝对位置;
宽度:100px;
高度:100px;
背景:rgb(240240);
边框:1px实心rgb(220220);
过渡:所有500毫秒至700毫秒缓变;
-moz转换:所有500ms 700ms的易用性;
-webkit转换:所有500ms 700ms的易用性;
-o型转换:所有500毫秒至700毫秒的易用性;
}
输入按钮:选中~div div.div1{
不透明度:1;
过渡:所有500毫秒至700毫秒缓变;
-moz转换:所有500ms 700ms的易用性;
-webkit转换:所有500ms 700ms的易用性;
-o型转换:所有500毫秒至700毫秒的易用性;
}
输入按钮:选中~div div.div2{
不透明度:0;
过渡:所有500ms缓解;
-moz转换:所有500毫秒的易用性;
-webkit转换:所有500毫秒易用性;
-o型过渡:所有500毫秒的缓解;
}
第一组
第2组
设置父div(我的示例中的modcontent类),然后根据可见元素切换它们:

HTML:


有没有可能制造一个复制问题的模型?
<div class="modcontent">
  <div class="modcontentnewestfirst">modcontentnewestfirst</div>
  <div class="modcontentnewestmore">modcontentnewestmore</div>
  <div class="modcontentnewestmore2">modcontentnewestmore2</div>
</div>
<button class="morebutton">morebutton</button>​
var modcontent = $('.modcontent');
modcontent.children().hide().first().show();
$('.morebutton').click(function() {
    var current = modcontent.children(':visible');
    var next = current.next()
    if (next.length === 0) next=modcontent.children().first();
    current.stop().fadeOut(500);
    next.stop().hide().delay(700).fadeIn(500);
});