解决discuz与jquery不兼容问题——下拉列表不能用(Uncaught TypeError: Cannot set property 'position' of undefined)
问题描述:
最近学着用discuz来模仿一个门户网站,里面要把导航条做出滑动效果,要用到jquery,将要用到jquery引用到header.htm中,如下图所示:
但是由于discuz采用php以及本身的机制,jquery中的$会与discuz本身的common.js和forum.js产生冲突,会出现如下的错误导致下拉列表
解决办法:
解决思路:将jquery的$重新定义一下,比如我门将用jq代表jquery的$
在jquery-1.7.2.js的末尾加上一句如下代码:
var jq = $.noConflict();//使用 noConflict() 方法为 jQuery 变量规定新的名称
如图所示:
因为我header.htm中也用了$,将其改成jq,如下所示:
同时要将引用到的其他js中的$改成jq,改动jquery.movebg.js文件如下图所示:
这样问题就解决了,如下图所示: