Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 函数外部的全局变量不起作用_Javascript_Jquery_Html_Function_Global Variables - Fatal编程技术网

Javascript 函数外部的全局变量不起作用

Javascript 函数外部的全局变量不起作用,javascript,jquery,html,function,global-variables,Javascript,Jquery,Html,Function,Global Variables,我试图在函数之外使用全局变量。我几乎什么都试过了,我已经读过很多没有进展的帖子了。我试图修改lightbox插件,并通过数据属性添加标签和社交链接 以下是我的HTML(捕获ID的方法): 您能否创建一个解决问题的工具,以便我们对其进行调试?JavaScript变量的作用域基于函数,因此如果您在函数内部声明变量,则在函数外部将不可用。您需要在函数之外创建一个全局变量(不推荐,这会使代码变得混乱),或者将变量值作为参数传递给其他需要它们的函数。 <a id="image-1" onclick=

我试图在函数之外使用全局变量。我几乎什么都试过了,我已经读过很多没有进展的帖子了。我试图修改lightbox插件,并通过数据属性添加标签和社交链接

以下是我的HTML(捕获ID的方法):


  • 您能否创建一个解决问题的工具,以便我们对其进行调试?JavaScript变量的作用域基于函数,因此如果您在函数内部声明变量,则在函数外部将不可用。您需要在函数之外创建一个全局变量(不推荐,这会使代码变得混乱),或者将变量值作为参数传递给其他需要它们的函数。
    <a id="image-1" onclick="window.GetID(this.id)"
    
      var global;
      var tagList;
      var facebook;
      var twitter;
      var gplus;
    
      window.GetID = function (elem_id) {
    
        console.log(elem_id);
        global = document.getElementById(elem_id);
        console.log(global);
        tagList = global.getAttribute('data-tags');
        console.log(tagList);
        facebook = global.getAttribute('data-fb');
        console.log(facebook);
        twitter = global.getAttribute('data-tt');
        console.log(twitter);
        gplus = global.getAttribute('data-gplus');
        console.log(gplus);
        return;
      }
    
      Lightbox.prototype.build = function() {
        var self = this;
        $('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><ul class="tag-list">' + tagList + '</ul><br/><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer">' +
            '<ul class="social-list"><li><a href="' + facebook + '"><img src="img/fb_circle_white.png" class="img-responsive"></a></li><li><a href="' + twitter + '"><img src="img/tt_circle_white.png" class="img-responsive"></a></li><li><a href="' + gplus + '"><img src="img/gplus_circle_white.png" class="img-responsive"></a></li></ul><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));