Здравствуйте. Вот у меня был повторяющийся код и чтобы он не повторялся я поместил его в функцию, получилось вот, что:
// Запускаем слайдшоу
if ($('div#rotator ul li').length != 1) {
rotateImg("rotator"); // Slider at aboutus
}
if ($('div#rotatorTop ul li').length != 1) {
rotateImg("rotatorTop");
theRotatorText();
}
});
function rotateImg(obj) {
var obj = obj;
theRotator();
function theRotator() {
$('div#'+obj+' ul li').css({opacity: 0.0});
$('div#'+obj+' ul li:first').css({opacity: 1.0});
setInterval('rotate()',5000);
}
function rotate() {
var current = ($('div#'+obj+' ul li.show')? $('div#'+obj+' ul li.show') : $('div#'+obj+' ul li:first'));
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#'+obj+' ul li:first') :current.next()) : $('div#'+obj+' ul li:first'));
next.css({opacity: 0.0})
.addClass('show')
.animate({opacity: 1.0}, 1000);
current.animate({opacity: 0.0}, 1000)
.removeClass('show');
}
}
При запуске отладчик пишет:
Uncaught ReferenceError: rotate is not defined
. Ну как он не defined, если она определяется.