我有这样的代码:
<script type="text/javascript">
var currentPicture;//default picture
var picEL;//the image viewer element
jQuery("#backImageShower").hover(
function(i)
{
picEL = jQuery("#dynloadarxdock > img");
currentPicture = picEL.attr("src");
picEl.attr("src","back.jpg");
},
function()
{
picEl.attr("src",currentPicture);
}
);
</script>
但是,当我运行此代码时,它说未定义
picEl
。我认为可能是因为闭包,但是这段代码运行得很完美:<script type="text/javascript">
var currentPicture;//default picture
jQuery("#backImageShower").hover(
function(i)
{
currentPicture = jQuery("#dynloadarxdock > img").attr("src");
jQuery("#dynloadarxdock > img").attr("src","back.jpg");
},
function()
{
jQuery("#dynloadarxdock > img").attr("src",currentPicture);
}
);
</script>
但是此代码还包含全局变量,并且可以正常工作。
有人可以告诉我为什么吗?
谢谢。
最佳答案
问题在于您正在混合外壳。该变量声明为picEL
,但有时用作picEl
(小写的“ l”,这是您的错误所在)。