如何在jquery中定义一个对象为全局变量

在网上发现了一个弹出页面的方法,下面这个方法是通过新建对象,来调用对象中的方法
var pop=null;
function ShowIframe(title,contentUrl,width,height)
{
pop=new Popup({ contentType:1,isReloadOnClose:false,width:width,height:height});
pop.setContent("contentUrl",contentUrl);
pop.setContent("title",title);
pop.build();
pop.show();
}
现在我想在jquery中的另一个方法中调用这个对象的.close()方法,可是对象为空,怎样才能使对象全局有效呢?
function Close(){
pop.close();
}

pop用参数传给你自己定义的的close()呗
或者你在close()里面重新定义一下pop,如:pop=new Popup({ contentType:1,isReloadOnClose:false,width:width,height:height});追问

试过了,不行的,谢谢啊

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-02-09
<script>
var aa;//全局变量

function 方法名()
{

}

function 方法名1()
{

}
</script>追问

试过了,没效果,呵呵

追答

之前查过了:定义全局变量就是这样啊 !你是:想在jquery中的另一个方法中调用这个对象的.close()方法
这个对象是什么 啊!是自己定义的还是页面上的控件方法 啊!应该还有别的方法解决的!
要不你把你要实现的效果告诉我!让大家一起想想还有别的方法没

var pop=null;
function ShowIframe(title,contentUrl,width,height)
{
pop=new Popup({ contentType:1,isReloadOnClose:false,width:width,height:height});
pop.setContent("contentUrl",contentUrl);
pop.setContent("title",title);
pop.build();
pop.show();
}
是js代码 啊不是jquery代码 啊

追问

换成变量是有用的,但是换成对象就么有任何效果了,为null。
实现的效果就是:在另一个js中有一个fuction,里面是动态加载一棵树,我要在我自己的js新建它的对象,通过对象调用方法,生成树,然后关闭它,现在只能生成,去关闭不了

追答

var pop=new Popup({ contentType:1,isReloadOnClose:false,width:width,height:height});
实例化放在外面行吗 ??作为全局变量
我是这样想的。
关闭事件是你创建的对象的,
关闭应该是对象而不是变量才对啊 !
例如:
pop.build();//创建事件是实例化的对象调用方法而不是变量
pop.show();

那我就不知道啦!

本回答被提问者采纳

如何在jquery中定义一个对象为全局变量
或者你在close()里面重新定义一下pop,如:pop=new Popup({ contentType:1,isReloadOnClose:false,width:width,height:height});

jquery中如何设置全局变量
js中任何的变量都已一个作用域 对于作用域你可以这样理解 每个{}花括号为一个作用域 由于j是在test内声明的 只能作用于test内 所以在test外部调用时就会抛出异常

JQuery事件在其引发的函数执行过程中又被多次触发,导致函数执行完后事...
设置一个全局变量,在滚动前设置一个特定值,在滚动完成后改变成另一个值。那么在另一个滚动程序需要执行时候先判断是否正在滚动,是就取消本次的滚动操作 var mmmmm=0;(document).ready(function(){ ("button").click(function(){ if(mmmmm<1){ mmmmm=1 ("div").animate({ left:'+=200px'...

jquery全局变量的问题
(function(){ window.obj = $("#"+"insertsession"+1); $("#insertcs").click(function() { window.obj = $("#"+"insertsession"+2); }); obj.click(function() { document.firstform.submit(); });});window.obj 设置全局变量obj。在function里面var的变量都是局部...

jquery 全局变量问题
当然是一样的啊,放到里面$(function () { $("#insertcs").click(function(){ obj=$("#"+"insertsession"+2); }); }); 相当于:$(function () { var obj=$("#"+"insertsession"+2); $("#insertcs").click(function(){ }); }); 不过最好还是用下面的,...

js中如何定义全局变量?
直接给标识符test赋值,这样会隐式的声明了全局变量test。即使该语句是在一个function内,当该function被执行后test变成了全局变量。方式3 window.test;window.test = 5;这种方式经常被用到一个匿名函数执行后将一些函数公开到全局。 如JQuery1.5中最末一句 window.jQuery = window.$ = jQuery;

jQuery $.get(url,data,callback,type) 返回值给全局变量赋值的问题
ls说的对,Ajax是异步JavaScript&XML浏览器解析页面时候不等你Ajax响应会来,就会继续向下执行,这时你的全局mm任然是1,如果你在回调函数function(data){}内部alert的话,就会是8了。一种是楼上说的方法 另一种就是把异步改为同步 async: false ...

js中如何定义全局变量
一、定义及使用全局变量 1.在js的function外定义一个变量 var name='测试';function XX(){ alert(name);}2.不使用var,直接给定义变量,隐式的声明了全局变量 name='测试';function XX(){ alert(name);}这种方法,即使该变量是在一个function内,当该function被执行后它变成了全局变量 --...

jquery 事件写在$(function())里面和写在外面的区别
写在$(function(){})里是加载完成才运行 写在外面边加载边运行

js中 声明变量时: var $i 和 var i 有什么区别吗 各自是什么意思_百 ...
获取控件对象值,在调用的时候一个需要转成Jquery对象,一个不需要,操作方法如下:1、首先在非函数内使用var或let声明的变量拥有全局的作用域,是全局变量。2、在函数内使用var或let声明的变量是局部变量,只能在函数内部使用。3、let声明的变量有块作用域的概念,而var声明的变量没有块作用域的概念,...

相似回答