我有以下jquery函数
$(function(){
$('.buttonEffectWrapper a').not('#browse-all a').hover(function(){
pauseResume();
var imageBrowserContent = $('#mainImageBrowser').html();
$('#mainImageBrowserTabButtonWrapper, #slideshow > div')
.animate({opacity:"0"}, {duration:250});
ajaxFunction('footer');
alert(imageBrowserContent);
},
function(){
alert(imageBrowserContent);
})
} );
在鼠标悬停时,我将#mainImageBrowser
的内容复制到变量imageBrowserContent
然后它执行一个Ajax函数,它替换#mainImageBrowser
的html内容,然后提醒我内容是什么。所有这些都有效。
我的意图是用原始内容替换#mainImageBrowser
,原始内容将存储在imageBrowserContent
中。我无法让它工作,所以我放了alert(imageBrowserContent);
并且每次弹出都没有警报。我错过了什么?如果我在警报中放置一个文本字符串,它弹出很好,所以我很困惑......
答案 0 :(得分:3)
重新格式化后,问题显示出来。 imageBrowserContent
是第一个函数的局部变量。它在第二个函数内部不可见。如果将变量声明移动到父函数,它将起作用。
$(function(){
var imageBrowserContent;
$('.buttonEffectWrapper a').not('#browse-all a').hover(function(){
pauseResume();
imageBrowserContent = $('#mainImageBrowser').html();
$('#mainImageBrowserTabButtonWrapper, #slideshow > div')
.animate({opacity:"0"}, {duration:250});
ajaxFunction('footer');
alert(imageBrowserContent);
},
function(){
alert(imageBrowserContent);
})
});