2012-12-01 174 views
3

我想在一個函數中分配全局變量值,並在另一個函數中使用該變量。但由於某種原因,變量在第二個函數中變爲空白。在函數中分配全局變量

我的想法

無論是功能2第一excuted功能1日前(如果是這樣的話,我怎麼指揮的jQuery TOSTART執行一個特定的語句/函數?)

或者

myvar函數1中的全局變量未設置(如果是這種情況,還有什麼替代方法可以實現這一點?)

var my_var; 
//function 1 
$(".div1").onhover(function(){ 
my_var="hello" 
}); 

//function 2 
$(".div1").onhover(function(){ 
//i want to make use of my_var here, but it is blank 
}); 

//I want to use my_var it somewhere here too, but it doesnt work 
+0

全局變量:http://stackoverflow.com/questions/3352020/jquery-the-best-way-to-set-a-global-variable – JSuar

+0

的問題是,'函數2 '先打電話;但目前還不清楚你的代碼應該做什麼。 –

+0

看到這個答案:http://stackoverflow.com/questions/290254/how-to-order-events-bound-with-jquery – Selosindis

回答

2

正確的功能是.hovermore here); .onhover是不正確的。下面的代碼按照您請求的方式工作(live example)。

HTML

<div id="TestID" class="div1">This is a test.</div>​ 

的JavaScript

var my_var; 
//function 1 
$(".div1").hover(function(){ 
    my_var=$(this).attr('id'); 
}); 

//function 2 
$(".div1").hover(function(){ 
    alert(my_var); 
});​ 

這裏有全局變量一些其他有用的鏈接在JavaScript:

+0

謝謝你,當你使用警報它的作品,但是當你在一個聲明中使用它它does not ,onhover是一個錯字抱歉。 – katie

+0

下面是一個在聲明中使用變量的示例:http://jsfiddle.net/EKdtj/2/。它仍然有效。 – JSuar

+0

對不起,我的意思是它不能在函數外工作,我如何使它工作? – katie