mono-lab主题与Clean Archives Reload的jQuery有冲突

我的文章归档页面是用Clean Archives Reload制作的,本来应该可以按月份展开或收缩,但实际情况却不是那么回事

记得我以前是正常使用的,大概是换了主题后就不行了,不过一直也没去找原因

最近几天有点纠结于这东西,打开页面后,所有月份都是展开的,不能收缩,jQuery特性都失效了

2012-01-01更新,冲突问题已经解决,更换了一个旧版的jquery就行,现在使用1.4.2版的jquery,已经没有冲突,页面所有js特效都正常

到wordpress forums中搜索帖子查看,也有一部分人有同样的问题,不过大多数都是因为主题的header里丢失了下面代码

1
< ?php wp_head(); ?>

而我的主题有这行代码,这代码的用途是在head里插入所启用插件所需要的js或者css等

丢失肯定会造成插件失效,不过我的千真万确载入了,查看页面源代码也对的,的确在head里载入了Clean Archives Reload的jQuery代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!-- Clean Archives Reloaded v3.2.0 | http://www.viper007bond.com/wordpress-plugins/clean-archives-reloaded/ -->
<script type="text/javascript">
true/* < ![CDATA[ */
truetruejQuery(document).ready(function() {
truetruetruejQuery('.car-collapse').find('.car-monthlisting').hide();
truetruetruejQuery('.car-collapse').find('.car-monthlisting:first').show();
truetruetruejQuery('.car-collapse').find('.car-yearmonth').click(function() {
truetruetruetruejQuery(this).next('ul').slideToggle('fast');
truetruetrue});
truetruetruejQuery('.car-collapse').find('.car-toggler').click(function() {
truetruetruetrueif ( '展开所有月份' == jQuery(this).text() ) {
truetruetruetruetruejQuery(this).parent('.car-container').find('.car-monthlisting').show();
truetruetruetruetruejQuery(this).text('折叠所有月份');
truetruetruetrue}
truetruetruetrueelse {
truetruetruetruetruejQuery(this).parent('.car-container').find('.car-monthlisting').hide();
truetruetruetruetruejQuery(this).text('展开所有月份');
truetruetruetrue}
truetruetruetruereturn false;
truetruetrue});
truetrue});
true/* ]]> */
</script>

后来突发奇想,把header里的js载入顺序改了下,Ooh,it works

原来是先载入插件所需要的js,然后再载入主题需要的一些js,我改为现载入主题的js,原先代码如下

1
2
3
4
5
6
< ?php wp_enqueue_script( 'jquery' ); ?>
< ?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
< ?php wp_head(); ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/scroll.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jscript.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/comment.js"></script>

我改为如下顺序

1
2
3
4
5
6
< ?php wp_enqueue_script( 'jquery' ); ?>
< ?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/scroll.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/jscript.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_url'); ?>/js/comment.js"></script>
< ?php wp_head(); ?>

OK,归档页面正常了,可以收缩或展开了,可是悲催的我发现我主题顶部菜单不正常了,不会显示子菜单了。。。

我继续该了几次载入顺序,确定是jscript.js和Clean Archives Reload的js冲突了

如果后载入jscript,我的菜单就正常,如果后载入Clean Archives Reload的js,归档页面就正常

见鬼了,搜了下jQuery冲突解决办法,不过貌似我没怎么懂。。。好吧,我是小白

跑WordPress Forums的Clean Archives Reload版面发帖求助了,然后有给mono-lab的作者留言,求助啊。。。
http://wordpress.org/support/topic/archives-can-not-collapse?replies=3

下面是jscript.js的代码,有木有jQuery高手路过,期待你的解答

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
jQuery(function(){
jQuery("a").bind("focus",function(){if(this.blur)this.blur();});

jQuery(".menu > li:first-child").addClass("first_menu");
jQuery(".menu > li:first-child.current_page_item, .menu > li:first-child.current-cat, .menu > li:first-child.current-menu-item").addClass("first_menu_active").removeClass("first_menu");
jQuery(".menu > li:last-child").addClass("last_menu");
jQuery(".menu > li:last-child.current_page_item, .menu > li:last-child.current-cat, .menu > li:last-child.current-menu-item").addClass("last_menu_active").removeClass("last_menu");
jQuery(".menu li ul li:has(ul)").addClass("parent_menu");

jQuery("#right_col ul > li:last-child").css({marginBottom:"0"});

jQuery("#comment_area ol > li:even").addClass("even_comment");
jQuery("#comment_area ol > li:odd").addClass("odd_comment");
jQuery(".even_comment > .children > li").addClass("even_comment_children");
jQuery(".odd_comment > .children > li").addClass("odd_comment_children");
jQuery(".even_comment_children > .children > li").addClass("odd_comment_children");
jQuery(".odd_comment_children > .children > li").addClass("even_comment_children");
jQuery(".even_comment_children > .children > li").addClass("odd_comment_children");
jQuery(".odd_comment_children > .children > li").addClass("even_comment_children");

jQuery("#guest_info input,#comment_textarea textarea")
.focus( function () { jQuery(this).css({borderColor:"#33a8e5"}) } )
.blur( function () { jQuery(this).css({borderColor:"#ccc"}) } );

jQuery("#tag_list ul").hide();
jQuery(".search_tag").toggle(function(){
jQuery(this).addClass("active_search_tag");
}, function () {
jQuery(this).removeClass("active_search_tag");
});
jQuery(".search_tag").click(function(){
jQuery(this).next("#tag_list ul").slideToggle("400");
});

jQuery("#trackback_switch").click(function(){
jQuery("#comment_switch").removeClass("comment_switch_active");
jQuery(this).addClass("comment_switch_active");
jQuery("#comment_area").animate({opacity: 'hide'}, 0);
jQuery("#trackback_area").animate({opacity: 'show'}, 1000);
return false;
});

jQuery("#comment_switch").click(function(){
jQuery("#trackback_switch").removeClass("comment_switch_active");
jQuery(this).addClass("comment_switch_active");
jQuery("#trackback_area").animate({opacity: 'hide'}, 0);
jQuery("#comment_area").animate({opacity: 'show'}, 1000);
return false;
});

jQuery("#guest_info input,#comment_textarea textarea")
.focus( function () { jQuery(this).css({borderColor:"#33a8e5"}) } )
.blur( function () { jQuery(this).css({borderColor:"#ccc"}) } );

jQuery("blockquote").append('<div class="quote_bottom"></div>');

jQuery(".side_box:first").addClass("first_side_box");

});

function changefc(color){
document.getElementById("search_input").style.color=color;
}

/*
dropdowm menu
*/


var menu=function(){
var t=15,z=50,s=6,a;
function dd(n){this.n=n; this.h=[]; this.c=[]}
dd.prototype.init=function(p,c){
a=c; //Old code: var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;

var w=p, s=w.getElementsByTagName('ul'), l=s.length, i=0;
for(i;i<l ;i++){
var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
h.onmouseover=new Function(this.n+'.st('+i+',true)');
h.onmouseout=new Function(this.n+'.st('+i+')');
}
}
dd.prototype.st=function(x,f){
var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
clearInterval(c.t); c.style.overflow='hidden';
if(f){
p.className+=' '+a;
if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
if(c.mh==c.offsetHeight){c.style.overflow='visible'}
else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
}else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
}
function sl(c,f){
var h=c.offsetHeight;
if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
clearInterval(c.t); return
}
var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
c.style.height=h+(d*f)+'px'
}
return{dd:dd}
}();

document.getElementsByClassName = function (c, t) {
t = this.getElementsByTagName(t ? t : "*");
for (var i = 0, r = new Array(), l = t.length; i < l; i++)
if (t[i].className == c)
r[r.length] = t[i];
return r;
}

var _Menus = new Array();
function initializeDateDropDowns(){
var box = document.getElementsByClassName('menu','ul');
if (box.length > 0) {
for(i = 0; i < box.length; i++) {
var id = box[i];
_Menus[i] = new menu.dd('_Menus[' + i + ']');
_Menus[i].init(id,"menuhover");
}
}
}
window.onload = initializeDateDropDowns;

跪求解决办法,不要跟我说换插件或者换模板就行

声明: 除非注明,小峰网络遨游记文章均为原创,转载请以链接形式标明本文地址

本博客原创文字只代表本人某一时间内的观点或结论,与本人所在公司没有任何关系。

本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可。

第三方若用于商业用途的转载,须取得本人授权。

本文作者:

本文地址:http://xfeng.me/mono-lab-theme-clean-archives-reload-jquery-conflict/

你可能还对下面文章感兴趣: