我有一个带有两个函数的js文件,一个是普通的javascript,一个是使用jQuery。我想要两个都在窗口加载。但如果我同时启用两者,只有普通的javascript函数可以工作。当我禁用“highliter”功能时,“slideSwitch”工作正常。问题是什么?我该如何解决这个问题?
function slideSwitch() {
var active = $('#slideshow img.active'),
next;
if (active.length == 0){
active = $('#slideshow img:last');
};
next = active.next().length ? active.next() : $('#slideshow img:first');
active.addClass('last-active');
next.addClass('active')
.css({opacity:0.0})
.animate({opacity:1.0}, 1000, function() {
active.removeClass('active last-active');
});
};
function startSlideShow() {
setInterval("slideSwitch()", 5000);
};
function highliter() {
var current = document.location.pathname;
var nav = document.getElementById('pages');
var a_tags = nav.getElementsByTagName('a');
for (var i = 0; i <= a_tags.length; i++) {
if (a_tags[i].getAttribute('href') === current) {
a_tags[i].parentElement.className = 'highlited';
}
}
};
window.onload = function() {
highliter();
startSlideShow();
};
答案 0 :(得分:1)
highliter()中是否发生javascript错误?我看到两个可能的问题:
答案 1 :(得分:1)
不是parentElement
,而是parentNode
。