如何以正确的方式在jQuery中声明变量

时间:2016-03-20 06:49:23

标签: javascript jquery

我有这个jQuery代码可以在小提琴中运行,但不能在我的网站上运行!

我正在研究这个jQuery框架

https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js?ver=4.4.2

但似乎根据Fox& amp; amp; amp; amp; amp;我在Chrome中收到以下错误。

未定义的变量:分页 未定义的变量:lis 未定义的变量:下一个 未定义的变量:toHighlight 未定义的变量:prev

$(document).ready(function () {
    var $pagination = $('.qpagination');
    var $lis = $pagination.find('li:not(#qprev, #qnext)');
    $lis.filter(':gt(4)').hide();
    $lis.filter(':lt(5)').addClass('active');

    var $next = $('#qnext').click(function () {
        var idx = $lis.index($lis.filter('.active:last')) || 0;

        var $toHighlight = $lis.slice(idx + 1, idx + 6);
        if ($toHighlight.length == 0) {
            $prev.show();
            return;
        }

        $next.show();
        $lis.filter('.active').removeClass('active').hide();
        $toHighlight.show().addClass('active')
    });

    var $prev = $('#qprev').click(function () {
        var idx = $lis.index($lis.filter('.active:first')) || 0;

        var start = idx < 4 ? 0 : idx - 4;
        var $toHighlight = $lis.slice(start, start + 5);
        if ($toHighlight.length == 0) {
            $prev.hide();
            return;
        }

        $next.show();
        $lis.filter('.active').removeClass('active').hide();
        $toHighlight.show().addClass('active')
    });
});

这是Fiddle上的demo代码。它在Fiddle上工作得很好!

这是我正在处理的website(点击给我留言)

1 个答案:

答案 0 :(得分:1)

稍微更新了您的代码https://jsfiddle.net/o3das45q/4/
添加了

var $next = $('#qnext');
var $prev =  $('#qprev');