Tag: 全局变量

在JQuery中使用多个函数之间的全局变量?

我想使用jQuery动态加载图像,如下所示: main.js var slidersrc=””; //try to define global variable – not sure if this is correct jQuery(document).ready(function() { jQuery(“#sliderimg”).attr(‘src’, slidersrc); }); jQuery(“#selection1”).click(function() { slidersrc=’wp-content/themes/*****/slide1.png’; }); 因此,当用户第一次访问我的网站时,滑块是空的。 用户单击其中一个选择区域后,我设置了全局变量值。 然后,如果用户继续在我的网站上导航到不同的页面,则应该由于他的选择而向用户显示滑块图像。 但是,这似乎不起作用。 我在jQuery中正确使用全局变量吗? 或者是否有更好的方法来保存客户端的用户选择值? 谢谢!

如何使用在另一个函数中声明的变量

嗨, 我想将全局变量称为“列表”并在此函数上声明其值,以便我也可以在另一个函数上使用它: var lists; document.addEventListener(“DOMContentLoaded”, function(event) { var parentOfMyList = document.body; attributes: true, childList: true, subtree: true }; var callback = function(mutationsList) { for (var mutation of mutationsList) { if (mutation.type == ‘childList’) { var elt = document.getElementById(“contents”); if (elt) { lists = elt.textContent; console.log(lists); observer.disconnect(); } } } }; var observer = new MutationObserver(callback); […]

Javascript Closure -Local变量嵌套函数

我试图使用在函数P中定义的变量x,其值我试图在另一个函数中设置。 它总是未定义。 我试着用我的头脑来使用闭合,但它只是让我失望了。 它不会给我一个字符串而不是一个对象。 逻辑如下。 function P(i){ var x; if(i!=null){ //this pulls the data correctly and i could see it in network tab response. var dataFromQuery=widgets.DATA.create({ url:”abc/cde”, queryTemplate :”/query”+i+ “?” }); //we query the data and set the value as per the logic. dataFromQuery.query(function(data){ if(data[0].name){ x=data[0].name; // this stays undefined , and i understand this […]

将javascript全局变量设置为JSONresult?

如何在onload事件中将js全局变量设置为json结果集? var global = []; $.getJSON(“/”, function(data) { $.each(data, function(key, val) { global.push(val); }); }); global在加载时没有设置值,我需要在json调用之外访问它…

变量和jquery:如何捕获值并使用它们(第2部分)

这是我的问题: 我从ul-li列表中捕获了一个变量 我有一个名单很多的名单: 罗马,米兰,威尼斯…我用鼠标hover事件捕捉这些(罗马的pulsante1,米兰的pulsante2,威尼斯的pulsante3,……)的id值(寻找这个)问题变量和jquery:如果你想了解更多, 如何捕获值(第1部分 )。 所以,我现在有一个名为$ regionMap的全局变量,每次ul-li列表都有mouseover事件时,它的内容会发生变化。 所以,现在我可以在其他jquery脚本中使用$ regionMap值而不是不同的id值( pulsante1,pulsante2,pulsante3 …… )。 例如,我有这个循环: $(‘#pulsante1’).mousedown(function() // when click over pulsante1 (id value for “Roma”) { var $variab=document.getElementById(‘pulsante1’).innerHTML; // take the name (here Roma) var $alfa=”#”+ $variab; // Roma is now #Roma alert(“You entered: ” + $alfa); //control dialog($alfa); // calling the function dialog rolling on […]

Jquery全局变量赋值和在javascript函数中使用

我有一个使用默认值声明的全局变量listId(请参阅下面的代码),然后我将它分配到jq(“#nav1 li a”)中。单击(function()但是一旦其他任何javascript函数调用在这一个之后,listId不反映更改的值,而只是它在声明期间分配的默认值。如何使其反映更改的值? 谢谢 listId = ‘x’; var jq=jQuery.noConflict();// for avoiding conflict jq(“#nav1”).click(function(){ alert(this.id); listId = this.id; //this.id is displayed in alert message }); function pageSwitch(){ alert(‘on change id : ‘+listId); //when called after the click function, this does not reflect changed values }

javascript setInterval()和Variable Scope

好的,我在这里看了几个问题但标题相同,但仍无法找到问题的解决方案。 我正在研究一个基本的javascript倒计时器,我一直在更新变量的值。 a = 100; var i = setInterval( function(){ timer( a ); }, 1000 ); function timer( a ){ console.log( a ); if( a < 1 ){ console.log( 'Reaching Stop' ); clearInterval( i ); return; } a -= 1; } 当我将a的值递减-1时, console.log( a )每次应减少1,即 100 99 98 …… 但是console.log( a )总是给100 新手到这里javascript请温柔。 谢谢。

使用requirejs中的插件停止全局jquery

我在下面正确地使用了jquery和jquery-cookie 。 我想让jquery不是全局的。 现在是。 我试过的任何方法似乎打破了jquery-cookie 。 require.config({ paths: { “jquery”: ‘../components/jquery/jquery’, “jquery-cookie”: “../components/jquery-cookie/jquery.cookie”, }, shim: { “jquery-cookie”: { deps: [‘jquery’] } } }); require([“jquery”, “jquery-cookie”], function($) { console.log($().jquery); // 1.7.2 console.log($.cookie(“hello”)); // null }); 以下更改将使jquery本地和中断cookie: define(“nc-jquery”,[‘jquery’], function () { return jQuery.noConflict(true); }); require([“nc-jquery”, “jquery-cookie”], function($) { console.log($().jquery); console.log($.cookie(“hello”)); });

从另一个脚本访问javascript变量

我有以下结构 // script1.js jQuery(document).ready(function($) { var somevar; $(‘somelem’).myPlugin(); }); // script2.js (function($) { $.fn.myPlugin = function(options) { // access and modify ‘somevar’ here so that it gets modified // in the function which called a plugin }; }); 我希望’somevar’变量能够被插件修改,我可以在插件调用函数的作用域中进一步处理已修改的变量。 我不想使用全局变量。 我认为没有使用将变量作为选项传递给插件,因为它将成为插件函数的本地,并且修改不会像我理解的那样修改原始变量。 我可能会误解javascript如何工作的概念,所以任何答案都会受到赞赏。

如何在JQuery $ .each函数中编辑全局变量?

好吧,所以标题可能不能很好地解释我的问题。 希望这是有道理的。 这也是我用jQuery的第一个应用程序,所以请原谅我,如果我做的事情是愚蠢的。 我有以下function: function getRandomImages(limit) { imagesArray = new Array(); $.getJSON(‘createImageArray.php’, {limit: limit}, function(data) { $.each(data, function(i) { imagesArray[i] = data[i]; //imagesArray is declared globally. }); }); } getJSON正确地抓取JSON对象。 它返回如下内容: {“image0″:”images/19.10.FBB9.jpg”,”image1″:”images/8.16.94070.jpg”,”image2″:”images/8.14.47683.jpg”,”image3″:”images/8.15.99404.jpg”,”image4″:”images/8.13.20680.jpg”,”image5″:”images/21.12.9A.jpg”,”image6″:”images/8.17.75303.jpg”} 我正在调试并确信data [i]正确包含从JSON对象中获取的图像路径。 但是,在调用getRandomImages()之后,我会查看我的全局imagesArray并注意到没有任何更改。 我猜它正在创建imagesArray的副本,而不是抓住实际的。 有人可以告诉我我需要做什么,以便我的全局imagesArray在$ .each块中更新? 我需要以某种方式通过引用传递imagesArray吗? 对不起,我有点迷路了。 谢谢您的帮助。 编辑 :一些背景信息。 我正在从DB填充一组随机图像位置。 我不想一次将db中的所有图像加载到一个数组中,因为它太多了。 所以,我有一个计数器,可以跟踪我在图像数组中的位置。 完成图像后,我将指针移动到下一个图像。 如果我到达终点,我需要抓取更多随机图像。 这就是调用上面的js函数的地方; 它调用createImageArray.php,它从db中抓取x个随机图像并返回一个数组。 然后我想将这些图像位置存储在我的全局imagesArray中。 我不确定如何重构我的代码以考虑.getJSON的asynchronouos性质。