首页 新闻 会员 周边 捐助

【请高人指点】几个页面jQuery写的JS代码是否可以单独放到一个.js文件中?

0
悬赏园豆:20 [已解决问题] 解决于 2010-11-22 17:03

几个页面jQuery写的JS代码是否可以单独放到一个.js文件中?
比如我有三个页面,每个页面的$(function(){js代码});中都有JS代码需要加载,我想把三个页面的JS都集中放到一个.js文件中,方便管理。
但是这几个页面不同的$(function(){js代码});怎么集中放到一起呢?

不会.js文件中的文件是

......

$(function(){...});

$(function(){...});

$(function(){...});

这三个怎么对应我三个页面呢?

迷茫中

工本的主页 工本 | 初学一级 | 园豆:150
提问于:2010-11-20 21:50
< >
分享
最佳答案
0

只要命名不冲突放一个文件里面完全没问题,初始化代码用一个$(function(){...})包裹着就可以了...

不同的页面执行不同的逻辑代码块完全不冲突,关键是知道自己在做什么...

收获园豆:12
三桂 | 老鸟四级 |园豆:3565 | 2010-11-21 00:27
这个方法其实不错,基本把页面JS代码减少到最少,不过没达到终极目标,页面没有JS代码。 不过已经基本够用了。
工本 | 园豆:150 (初学一级) | 2010-11-21 17:30
其实现在我已经把代码基本都提取到.JS文件中了,并且把JQUERY加载的代码汇集到一个方法中,JQUERY页面的加载代码就还有一个方法了。 就是不能连这个也写到.JS文件中。。。
工本 | 园豆:150 (初学一级) | 2010-11-21 17:39
加载的代码也完全可以写在.js文件中的啊,页面加载完之后就会执行.js文件中的初始化代码,用jQuery这些很容易做到吧,无处不在的$(function(){...})可以用:)
三桂 | 园豆:3565 (老鸟四级) | 2010-11-21 23:31
前提就是最好对不同页面的名称引用不要冲突...
三桂 | 园豆:3565 (老鸟四级) | 2010-11-21 23:33
@三桂: 不好意思,没明白您的意思。我有几个页面的初始化方法都要放在$(function(){...})中。怎么能把这个代码也能放到.js文件中呢?我几个页面都有这个$(function(){...})代码,怎么在一个.js文件中区别几个页面的$(function(){...})代码呢?
工本 | 园豆:150 (初学一级) | 2010-11-22 10:02
@三桂: 1.html文件中有$(function(){...}) 2.html文件中也有$(function(){...}) 3.html文件中也有$(function(){...}) 三个页面的js全部放到.js文件中, 那.js文件中的代码不会是 $(function(){...}) $(function(){...}) $(function(){...}) 怎么区别呢?因为这里面有三个页面的加载代码
工本 | 园豆:150 (初学一级) | 2010-11-22 10:04
客户合并成一个$(function(){...}) ,如果在一个页面的话jquery最终也会把它们成为一个然后进行解析,如果要按需加载和执行的话可以用页面名称或者其他标识来做判断...
三桂 | 园豆:3565 (老鸟四级) | 2010-11-22 16:30
客户端
三桂 | 园豆:3565 (老鸟四级) | 2010-11-22 16:31
shit,回复不能修改,一个页面改成一个.js文件
三桂 | 园豆:3565 (老鸟四级) | 2010-11-22 16:31
把三个合并成一个$(function(){...}) ,如果在一个.js文件的话jquery最终也会把它们成为一个然后进行解析,如果要按需加载和执行的话可以用页面名称或者其他标识来做判断...
三桂 | 园豆:3565 (老鸟四级) | 2010-11-22 16:33
@三桂: 非常感谢您的耐心解答。 按照这样的讨论来看,还是每个页面留一个$(function(){...}),然后其他的集中到.js文件中。 不然如果每个页面都加载不同的.js文件,就失去我的初衷了。 多谢。
工本 | 园豆:150 (初学一级) | 2010-11-22 17:02
如果逻辑不能重用的话放到一个页面会增加额外的数据传输,得不偿失,所以也不要分离得太彻底了,根据实际情况来写内联和外联代码...
三桂 | 园豆:3565 (老鸟四级) | 2010-11-22 17:10
其他回答(2)
0

这个最好分开放,如果函数名不同可以放在一个JS文件中,但像这种页面加载处理函数(三个形式相同)可能会出问题(如果有多个页面加载函数,Jquery好像是都执行,这样就会出错)

收获园豆:4
artwl | 园豆:16736 (专家六级) | 2010-11-20 21:55
是否可以分开呢?不想每个HTML文件里面都是JS文件。 有没有其他的JQUERY写法可以分开? 比如$(document).ready(function(){....}); 这个document对象是否可以换成其他的指定的document对象。
支持(0) 反对(0) 工本 | 园豆:150 (初学一级) | 2010-11-20 22:12
如果你实在想写在一个JS文件中可以这样,把页面加载函数写成函数形式,放在一个JS文件中: function load1(){...} function load2(){...} function load3(){...} 然后在每个页面中引入JS文件,并在<body>中调用加载函数<body onload="load1();">,这样写可以,但休现不出jQuery加载函数的优势了。
支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2010-11-20 22:19
0

三个页面不同的加载函数怎么能放到一起呢,就算语法不会出错,放到一起逻辑也错了。

收获园豆:4
Astar | 园豆:40805 (高人七级) | 2010-11-21 11:02
放在一个.js文件中,但是加载代码还是要分开的。 比如分别有三个 $(function(){...}) $(function(){...}) $(function(){...}) 但是我怎么区分哪个页面对应哪个加载代码呢?
支持(0) 反对(0) 工本 | 园豆:150 (初学一级) | 2010-11-22 10:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册