首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建用于模式切换的jquery计数器函数

如何创建用于模式切换的jquery计数器函数
EN

Stack Overflow用户
提问于 2018-11-15 22:09:30
回答 1查看 146关注 0票数 0

我遇到了以下问题,我想创建一个计数器函数来切换调制解调器,这样我就可以在多个页面上重复使用这个函数,我在互联网上挣扎,但找不到解决方案,我尝试了多个选项,但它只切换到前两个调制解调器,而且当我检查日志时,我的计数器变量不会超过1(第一次点击)。

我从这个开始

代码语言:javascript
复制
        var counter = 0; 
        var step = 1;
        var prev = 0;   

        $( document ).ready(function() {

            $('.button-'+counter).click(function() {
                    counter++;   
                    prev = counter - step;

                    $('.window-'+prev).modal('hide');
                    $('.window-'+counter).modal('show');
                    console.debug(counter, prev);

            });


            //$('.modal-header > .close').click(function() {
            //    counter = 0;
            //});

        });

经过一些研究,我得到了这个,但它做的事情完全一样。

代码语言:javascript
复制
    var counter = 0; 
    var step = 1;
    var prev = 0;   

    $( document ).ready(function() {  
        $('#addproductnext').each(function() {
            $(this).on('click', function() {
                counter++;   
                prev = counter - step;
                console.log(counter, prev);
                if($('#addproductwindow').hasClass('window-'+prev)) {
                $('.window-'+prev).modal('hide');
                $('.window-'+counter).modal('show');

                };
        });
    });

这是我现在的快速解决办法,但我不认为它是整洁的

代码语言:javascript
复制
$( document ).ready(function() {  
    $('.button-0').click(function() {
        $('.window-0').modal('hide');
        $('.window-1').modal('show');
    });
     $('.button-1').click(function() {
        $('.window-1').modal('hide');
        $('.window-2').modal('show');
    });

     $('.button-2').click(function() {
        $('.window-2').modal('hide');
        $('.window-3').modal('show');  
    });

    $('.button-3').click(function() {
        $('.window-3').modal('hide');
        $('.window-4').modal('show');  
    });


//$('.modal-header > .close').click(function() {
//    counter = 0;
//});

});

下面是我的html的样子(php函数)

代码语言:javascript
复制
<div class="modal fade window-' . $number . '" id="' . $name . '" tabindex="-1" role="dialog" aria-labelledby="' . $name . '" aria-hidden="true" data-backdrop="' . $backdrop . '">
        <div class="modal-dialog ' . $class . '" role="document">
          <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="deletemessage">' . $header .'</strong></h5>
              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                <span aria-hidden="true">&times;</span>
              </button>
            </div>
            <div class="modal-body">
BODY
    </div>
   </div>
  </div>
 </div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-15 23:48:19

代码语言:javascript
复制
<button class="button-modal">Button 1</button>
<button class="button-modal">Button 2</button>
<button class="button-modal">Button 3</button>

<script>
var counter = 0; 
var step = 1;
var prev = 0;   

$(document).ready(function() {
    $('.button-modal').each(function() {
        counter++;
        prev = counter - step;
        $(this).on('click', function() {
            $('.window-'+prev).modal('hide');
            $('.window-'+counter).modal('show');
        };
    });
});
</script>

给按钮同样的类,就像‘按钮-模式’。然后使用类获取按钮,并为每个按钮添加一个单击监听器,以隐藏先前的模式并显示下一个模式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53328591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档