为什么我的jquery代码不起作用?

时间:2015-10-21 13:03:49

标签: javascript jquery html

<script>
        var i=0;
        $(document).ready(function(){
           $("#tolevel_" + (i+1) ).click(function(){
              $("#level_" + i).hide(500,'swing', function(){
                  $("#level_" +(i+1)).show(500, 'swing', function(){
                      i=i+1;
                  });

              });
           });
            $("#backtolevel_" + (i-1) ).click(function(){
                $("#level_" + i).hide(500,'swing', function(){
                    $("#level_" +(i-1)).show(500, 'swing', function(){
                        i=i-1;
                    });
                });
            });
        });
    </script>

好的,这是我的jquery。级别ID是div,而tolerance和backtolevel是每个中的两个按钮。例如,如果div id是&#34; level_1&#34;该div中按钮的ID为&#34; backtolevel_0&#34;和&#34; tolevel_2&#34;。 好的,它只在第一次有效。在我的水平上并不重要。我已经在不同级别测试了它,但它只能工作一次。不知道为什么!你们能帮助我吗?我认为增量或减量有些不起作用。

1 个答案:

答案 0 :(得分:2)

尝试使用以下代码:

<script>

        $(document).ready(function(){
           $("[id^=tolevel_]").click(function(){
                var currentID = $(this).attr("id");
                var number = currentID.replace("tolevel_","");//get the number in string format
                number = parseInt(number);
                var i = number -1;
                $("#level_" + i).hide(500,'swing', function(){
                  $("#level_" +(i+1)).show(500, 'swing', function(){

                  });
                });
           });

            $("[id^=backtolevel_]").click(function(){
                var currentID = $(this).attr("id");
                var number = currentID.replace("backtolevel_","");//get the number in string format
                number = parseInt(number);
                var i = number + 1;
                $("#level_" + i).hide(500,'swing', function(){
                    $("#level_" +(i-1)).show(500, 'swing', function(){

                    });
                });
            });
        });
    </script>

用户`jquery的属性从选择器开始。在https://api.jquery.com/attribute-starts-with-selector/了解更多相关信息。真的不需要为每个元素编写代码。这应该有用。