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

本着坚持不懈的精神,终于把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>

关于作者

杰夫(jerfo0)

一个活的真实,耿直的boy。
坚定相信爱情,向往自由,对世界充满好奇心。热爱美剧、海贼王、一切户外运动、旅行...
职业:互联网运营。
生命不息,折腾不止,燥起来!!

查看全部帖子

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注