JQuery页码切换器Bug

时间:2015-06-19 17:15:16

标签: javascript jquery

标签HTML

<a class="page_prev page_current" href="javascript:;" hidefocus="true" style="outline: none;">
    <span>prev</span>
</a>
<a id="Gal_Btn_P1" href="javascript:;" class="page-numbers page_current" hidefocus="true" style="outline: none;">1</a>
<a id="Gal_Btn_P2" href="javascript:;" class="page-numbers" hidefocus="true" style="outline: none;">2</a>
<a id="Gal_Btn_P3" href="javascript:;" class="page-numbers" hidefocus="true" style="outline: none;">3</a>
<a class="page_next" href="javascript:;" hidefocus="true" style="outline: none;">
    <span>Next</span>
</a>

JQuery代码

    var Gal_C_Page = 1;
    var Gal_M_Page = 3;

    $('.tf_pagination a').click(function(e) {
        if (!$(this).hasClass('page_current')) {

            $('.page_current').removeClass('page_current');
            $('#Page_' + Gal_C_Page).hide();

            if ($(this).hasClass('page_prev')) {
                if (Gal_C_Page == '2') {
                    $(this).addClass('page_current');
                }
                Gal_N_Page =  Gal_C_Page - 1;
                $("#Page_" + Gal_N_Page).show();
                $('#Gal_Btn_P' + Gal_N_Page).addClass('page_current');
                Gal_C_Page = Gal_N_Page;
            } else if ($(this).hasClass('page-numbers')) {
                Gal_N_Page = $(this).text();
                $("#Page_" + Gal_N_Page).show();
                $(this).addClass('page_current');
                if (Gal_N_Page == Gal_M_Page) {
                    $('.page_next').addClass('page_current');
                } else if (Gal_N_Page == '1') {
                    $('.page_prev').addClass('page_current');
                }
                Gal_C_Page = Gal_N_Page;
            } else if ($(this).hasClass('page_next')) {
                if (Gal_C_Page == Gal_M_Page + 1) {
                    $(this).addClass('page_current');
                }
                Gal_N_Page = Gal_C_Page + 1;
                $("#Page_" + Gal_N_Page).show();
                $('#Gal_Btn_P' + Gal_N_Page).addClass('page_current');
                Gal_C_Page = Gal_N_Page;
            }
            alert(Gal_C_Page);
        }
    });
});

问题

好吧,如果我的JQuery代码看起来不像是一堆垃圾并且过于复杂,我遇到的唯一问题是;

  • 点击(1,2,3 ......) - 工作
  • 点击下一步 - 工作
  • 单击一个数字,然后单击下一个 - 变量然后变为11或21。

我已经为这个问题添加了一个Javascript标记,因为只要我能在解决方面得到一些帮助,我就不会对它的完成情况感到困惑。

我尝试了多次修改,而这里添加的代码是我当前的版本。

1 个答案:

答案 0 :(得分:0)

Gal_N_Page = $(this).text();会给你一个字符串,字符串+ number = string,例如:'1' + 1 = '11'。 因此,请更改为Gal_N_Page = parseInt($(this).text(), 10);