javascript:从点击功能返回变量

时间:2017-03-13 14:53:05

标签: javascript jquery

            var n;
            $('ul li').click(function() {
                var n = $(this).index();
            });

            alert(n); // for testing
            currentPage = n;

您好,我想让n退出点击功能,并将此值提供给currentPage

更多代码:

function reveal(direction) {
    var callbackTime = 750,
        callbackFn = function() {
            var n;
            $('ul li').click(function() {
                var n = $(this).index();
            });
            alert(n); // for testing
            currentPage = n;
            classie.remove(pages[currentPage], 'page--current');
            currentPage = n;
            classie.add(pages[currentPage], 'page--current');
        };
    revealer.reveal(direction, callbackTime, callbackFn);
} 

3 个答案:

答案 0 :(得分:0)

你为什么再次宣布n? 应该工作

 var n;
            $('ul li').click(function() {
                n = $(this).index();
            });

            alert(n); // for testing
            currentPage = n;

答案 1 :(得分:0)

你已经定义了var,所以不需要加倍。还要确保脚本中有$(function() { }函数,它将加载jQuery库:

var n = null;
$(function() {
    $('li').on("click", function() {
        n = $(this).index();
    });
});
currentPage = n;

为了缩短您的代码,您可以直接将currentPage var分配给$(this).index()但请确保您首先创建此变量,就像使用n

一样

答案 2 :(得分:0)

var n;
$('ul li').click(function() {
    var n = $(this).index();
});  

function reveal(direction) {
    var callbackTime = 750,
        callbackFn = function() {
            classie.remove(pages[currentPage], 'page--current');
            currentPage = n;
            classie.add(pages[currentPage], 'page--current');
        };
    revealer.reveal(direction, callbackTime, callbackFn);
} 

这是真正的解决方案。