首页 > 运营 > discuz中jquery.js 和 jquery-1.10.2.min.js 冲突的解决办法

discuz中jquery.js 和 jquery-1.10.2.min.js 冲突的解决办法

2014年8月31日

本着坚持不懈的精神,终于把jquery.js 和 jquery-1.10.2.min.js 冲突的问题解决了。主要是因为$这个字符变量的原因,深入的我也不懂,提供具体的解决办法吧!

我原本用jquery-1.10.2.min.js 实现效果调用的代码是(具体请见文章:如何用js实现某div块页面在浏览器下拉到某位置时保持置顶不动),红色部分为div块的内容,可自行修改。

<div id=”floatUpDiv”></div>
<div id=”floatDiv”>
<a data-type=”4″ data-tmpl=”390×460″ data-tmplid=”134″ data-style=”2″ data-border=”1″ biz-s_logo=”1″ biz-s_hot=”1″ href=”#”>爱淘宝</a>
</div>
<script language=javascript>
$(window).scroll(function(){
var floatUpDiv = $(“#floatUpDiv”);
var floatDiv = $(“#floatDiv”);
var footDiv = $(“#foot”);

if((floatUpDiv.offset().top + floatUpDiv.height() + floatDiv.height()) < ($(document).scrollTop() + $(window).height())) {
floatDiv.fadeIn();
}
else {
floatDiv.fadeOut();
}

if((floatUpDiv.offset().top + floatUpDiv.height() – $(document).scrollTop()) < 0) {
floatDiv.css(“position”, “fixed”);
floatDiv.css(“top”, “0px”);
if(floatDiv.offset().top + floatDiv.height() > $(document).height() – footDiv.height() – 300) {
var top = $(document).height() – footDiv.height() – 300 – floatDiv.offset().top – floatDiv.height();
floatDiv.css(“top”, top + “px”);

}
}
else {
floatDiv.css(“position”, “”);
floatDiv.css(“top”, “”);
}
});
</script>

 

将代码更改成如下后,就没有冲突了,请注意红色部分是改动和增加的部分,原理其实很简单,就是将$变量更换成jq,这样就不会和jquery.js引起冲突了。
<div id=”floatUpDiv”></div>
<div id=”floatDiv”>
<a data-type=”4″ data-tmpl=”390×460″ data-tmplid=”134″ data-style=”2″ data-border=”1″ biz-s_logo=”1″ biz-s_hot=”1″ href=”#”>爱淘宝</a>
</div>
<script language=javascript>
var jq = jQuery.noConflict();
jq(window).scroll(function(){
var floatUpDiv = jq(“#floatUpDiv”);
var floatDiv = jq(“#floatDiv”);
var footDiv = jq(“#foot”);

if((floatUpDiv.offset().top + floatUpDiv.height() + floatDiv.height()) < (jq(document).scrollTop() + jq(window).height())) {
floatDiv.fadeIn();
}
else {
floatDiv.fadeOut();
}

if((floatUpDiv.offset().top + floatUpDiv.height() – jq(document).scrollTop()) < 0) {
floatDiv.css(“position”, “fixed”);
floatDiv.css(“top”, “0px”);
if(floatDiv.offset().top + floatDiv.height() > jq(document).height() – footDiv.height() – 300) {
var top = jq(document).height() – footDiv.height() – 300 – floatDiv.offset().top – floatDiv.height();
floatDiv.css(“top”, top + “px”);

}
}
else {
floatDiv.css(“position”, “”);
floatDiv.css(“top”, “”);
}
});
</script>

  • 转载请注明原文链接 : http://www.it520.org/2014/08/31/discuz_jquery-js-andjquery-1-10-2-min-js/
    • 分享到:
    分类: 运营 标签:
    本文的评论功能被关闭了.