简单的切换功能问题

时间:2012-08-20 16:19:30

标签: jquery

我试图在用户点击imgIcon时切换toggleTutorial函数,但是,我甚至无法触发该函数。 我需要我的showTutorial变量是gloabal变量,但似乎getScript函数下的语句不会触发。这里的任何人都可以帮助我吗?

由于

$(function() {
    var spreadsheet = ''
    var showTutorial = true;
    $('.helpImgIcon').click(function() {
        $.getScript('inc/tutorial.js', function() {
            if (showTutorial) {
                toggleTutorial(showTutorial);
            }
        });
        showTutorial = false;
        return false;
    });
    $('body').click(function() {
        $('.js-tutorialTooltips').remove();
        $('.helpImg').remove();
        showTutorial = true;
    })
})​

2 个答案:

答案 0 :(得分:6)

$.getScript是异步的,因此showTutorial在遇到回调时会为false。

尝试将其更改为:

$('.helpImgIcon').click(function() {
    $.getScript('inc/tutorial.js', function() {
        if (showTutorial) {
            toggleTutorial(showTutorial);
            showTutorial = false;
        }
    });
    return false;
});

答案 1 :(得分:0)

感谢DOM,JavaScript可能会遇到一些可怕的命名空间问题。我几乎总是命名我的变量,即

window.namespace = {}; //Object Literal for namespace
window.namespace.showTutorial = true;