Tar*_*rik 0 javascript jquery closures hover
我有这样的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
但是,当我运行此代码时,它说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>
Run Code Online (Sandbox Code Playgroud)
但是这个代码也包含全局变量,它可以工作.
有人可以告诉我为什么吗?
谢谢.