我的公司有一个由设计机构创建的网站。他们使用自定义CMS,这使得很难进入网站的原始代码。我一直试图通过我们的图像滑块来捕捉特定的错误。
单击滑块(“1,2,3,4,5”)中的导航按钮时,幻灯片将切换到相应的图像,但仅限第一次。如果再次单击另一个按钮,则滑块不会更改。图像下方的阴影似乎变得更暗,所以我假设图像不会消失,只是在主图像下堆叠。
非常感谢任何解决此问题的帮助。
相关代码:
$('#home_features .listeditem').wrapAll('<div id="fade" />');
$('#fade').css('background', 'transparent');
var featureCt = $('#fade .listeditem').length;
if (featureCt > 1) {
$('#home_features').each(function() {
var controlDiv = $('<div />').attr('id', 'switcher');
for (var i = 1; i <= featureCt; i++) {
var control = $('<a href="#" class="selector" id="s' + i + '">' + i + '</a>');
if (i == 1) control.addClass('selected first');
if (i == featureCt) control.addClass('last');
controlDiv.append(control);
}
$(this).append(controlDiv);
controlDiv.append('<a href="#" class="selector" id="stop">||</a>');
controlDiv.append('<a href="#" class="selector" id="start" style="display: none;">▶</a>');
});
}
$("#fade").innerfade({
speed: 2000,
timeout: 5000,
containerheight: 440,
tracker: "switcher",
trackerclass: "selected",
repeat: 1
});
$(".selector").click(function() {
if (this.id == "stop" || this.id == "start") {
return;
}
if($("#fade").data("timer")) {
clearTimeout($("#fade").data("timer"));
$("#fade").removeData("timer");
$("#stop").hide();
$("#start").show();
}
var id = Number(this.id.substr(1));
$(".selector").removeClass("selected");
$(this).addClass("selected");
$("#fade>div:visible").fadeOut(1);
$("#fade>div.item" + id).fadeIn(1, function() {
$('body').removeMatchedClasses({ pattern: /^slide/ });
$('body').addClass('slide' + (id - 1));
});
var num = $("#fade").data("num_elements");
if (id < num) {
$("#fade").data("next", id);
} else {
$("#fade").data("next", 0);
}
return false;
});
$("#stop").click(function() {
clearTimeout($("#fade").data("timer"));
$("#fade").removeData("timer");
$("#stop").hide();
$("#start").show();
return false;
});
$("#start").click(function() {
$("#start").hide();
$("#stop").show();
$(".selector").removeClass("selected");
$("#fade").innerfade({
speed: 2000,
timeout: 10000,
containerheight: 440,
tracker: "switcher",
trackerclass: "selected"
});
var id = $("#fade").data("next");
$("#s" + id).addClass("selected");
return false;
});
答案 0 :(得分:0)
滑块方法在site.js的第37行实例化。在第81行,点击每个选择器时我看到以下错误:
Uncaught TypeError: Object [object Object] has no method 'removeMatchedClasses'
removeMatchedClasses
没有功能声明。它根本不存在。
他们要做的是从/^slide/
中删除与正则表达式body
匹配的所有类。
我的建议是用以下内容替换第81行:
$('body').removeClass(function(i, c) {
return c.match(/^slide/).join(" ");
});
让我知道这对你有用。