如何将变量从一个.js文件传递到另一个.js?

时间:2015-04-16 21:08:25

标签: javascript jquery

我有一个Symfony应用程序,其中包含一个创建睫毛的菜单,并使用.js文件将ulr指向每个菜单选项的div加载到div中,使用load()方法。此.js是一个变量,它与引用每个创建的选项卡相反。在这个例子中可以看到这个想法:

http://jsfiddle.net/JMMS_85/o7610t24/

$("#tabs-"+tabCounter).load($(this).attr('href'));

加载到div中的URL有其他链接,所以我创建了另一个.js文件来阻止原始链接“preventDefault()”,我必须在它之前重新加载这些链接div,即显示网址在同一个div中的新链接,所以我必须使用变量计数器上的另一个.js文件来知道选择的实际div是什么。

file1.js

 $(document).ready(function () {
$("#tabs").tabs();
   var tabCounter = 1;
   var cont =1;

        //Code creating the tabs omitted
 $(".container div a").on("click",function(event) {
    event.preventDefault(); 

        tabTitle = $(this).attr("title"),
        addTab();
        $("#tabs-"+tabCounter).load($(this).attr('href'));
        tabCounter++;
        $("#tabs").tabs({active: $('.ui-tabs-nav li:last').index()});
  });
 });

file2.js

$(document).ready(function () {

       $("a").click( function(event)
        {
        event.preventDefault();            

        $("#tabs-"+tabCounter).load(this.href);
    }); 

我的问题是如何将计数器变量第一个.js文件用于另一个文件。

2 个答案:

答案 0 :(得分:4)

您可以在函数之外创建变量。

您可以在此处查看JavaScript Scope的工作原理:http://www.w3schools.com/js/js_scope.asp

答案 1 :(得分:1)

您还可以使用jquery data

将变量保存在DOM中

例如:

设置初始值

$('#tabs').data('counter', 1);

检索值

var tabCounter = $('#tabs').data('counter');

增加值

var tabCounter = $('#tabs').data('counter');
$('#tabs').data('counter', ++tabCounter);

演示

http://jsfiddle.net/o7610t24/3/