首先这个东西的意思是立即执行函数吗?
发现很多插件都是用这种方式写的我现在遇到的问题是:
图片插件(function(){。})()
我在document.ready里要操作$('#abc').html(str);其中图片插件里会操作str产生渐变等效果但插件会先执行,document.ready会后执行,从而影响到了效果出现的时间。。
所以我想把document.ready改成(function(){})()方式。。
但这样好像会有不良后果?找资料说(function(){})()这种方式执行时,如果DOM还不存在会出错?
大家帮忙看看,谢谢
//ZYL命名空间
if(!window.ZYL){window['ZYL'] = {};//命名空间定义
}function page_change(framenum,framehref){
parent.frames[framenum].document.location = framehref;
};
window['ZYL']['page_change'] = page_change;})();上面的这个定义在调用的时候,可以ZYL.page_change("参数1","参数2");
这样可以自己写个函数放在里面,把关键的图片名称,地址什么的实际需要的以参数的形式进行传递,这样可以在document.ready里要操作$('#abc').html(str);这个操作之后加上ZYL.page_change("参数1","参数2");这样是否可以达到你想要的结果呢?
其次之所以用document.ready 是因为里面的方法用到了页面的元素,需要等页面文档结构加载好了才去操作,否则会得不到对应的元素。
既然是插件而且是立即执行 里面怎么会操作到你的页面元素了呢 里面应该是应该是添加一些事件或者监听什么的
(function($) {})(jQuery);这个有什么不同。
在(function(){})()里直接操作BODY里面最上面的元素$(".test").html 会不会出问题。
//这里面所有自定义的操作均在当前页面DOM加载完成后执行
//也就是说,你想让某个局部执行什么效果,先必须保证其DOM结构的存在以及完整性
$('#abc').html(str);//你可以先填充你的数据
//在后面再调用图片插件
})()
$(window).load(function() { //这里面所有自定义的操作均在当前页面中所有元素加载完成后执行})