解决方案 »
- 这段js代码很给力,能实现对联、底部、飘动、顶部闪动广告,奉献给大家
- 问个 js控制加载问题!
- 如何访问frameset中的frame
- 在parent关闭的情况下,如何判断弹一个页面是否已经open?
- Javascript中有没有中止退出的方法?
- 求助,视频播放技术
- java script 如何 实现??????要加一个检查,用户是否选择答案,问题是,怎么取radio的name???????
- 导航栏状态变化的问题。
- JQUERY 多个样式分别响应
- 为什么下面的javascript代码在创建dom元素绑定事件时,执行指定函数不能在语句中加变量?
- 百度偏移问题和AJAX连接问题,求指导。
- 新浪网站接入中连接按钮的回调地址问题。。
(function(x){
$("#img"+x).mouseover(function(){
$("#img"+x).attr("src", "/LogService/images/hover_"+(x-1)+".jpg");
});
$("#img"+x).mouseleave(function(){
$("#img"+x).attr("src", "/LogService/images/"+(x-1)+".jpg");
});
})(i);
}
for(var x = 2 ;x<11;x++){
(function(){
$("#img"+x).mouseover(function(){
$("#img"+x).attr("src", "/LogService/images/hover_"+(x-1)+".jpg");
});
$("#img"+x).mouseleave(function(){
$("#img"+x).attr("src", "/LogService/images/"+(x-1)+".jpg");
});
})();
} ()里面不用加i也能执行。这是什么情况呢?
(function(){
$("#img"+x).mouseover(function(){
$("#img"+x).attr("src", "/LogService/images/hover_"+(x-1)+".jpg");
});
$("#img"+x).mouseleave(function(){
$("#img"+x).attr("src", "/LogService/images/"+(x-1)+".jpg");
});
})();
} 和for(var x = 2 ;x<11;x++){ $("#img"+x).mouseover(function(){
$("#img"+x).attr("src", "/LogService/images/hover_"+(x-1)+".jpg");
});
$("#img"+x).mouseleave(function(){
$("#img"+x).attr("src", "/LogService/images/"+(x-1)+".jpg");
});
} 一样,执行的光#img12
循环中定义的变量var x 和“#img”+x 这俩个?
for(var x = 2 ;x<11;x++){
(function(){
$("#img"+x).mouseover(function(){
$("#img"+x).attr("src", "/LogService/images/hover_"+(x-1)+".jpg");
});
$("#img"+x).mouseleave(function(){
$("#img"+x).attr("src", "/LogService/images/"+(x-1)+".jpg");
});
})();
} ()里面不用加i也能执行。这是什么情况呢?
楼上正解~
因为你立即把匿名函数给调用了,等于直接运行了里面的函数,
比如说function a(){......}
然后你调用这个函数的时候,是a();这么写的,
function a(){
......
}();就等于是马上给调用了。
我也是初学js,可能说法上也有点问题吧,不过我是这么理解的
(function(){ setTimeout(function(){alert(i)}) })();
}for(var i = 0 ;i<2;i++){
(function(i){ setTimeout(function(){alert(i)}) })(i);
}你分别运行看看区别