Если вы знаете, что вам нужно перейти на второй слайд при загрузке страницы, вы можете сделать что-то вроде этого:
var init = { startingSlide: 1 }; // i.e. second slide, the indices are zero-based
$('whatever').cycle($.extend(init, the_name_of_your_global_default_options));
Вам просто нужно сделать так, чтобы init
был пустым литералом объекта, кроме случаев, когда вам нужно было установить startingSlide
. Если .cycle()
находится где-то за пределами вашей страницы, вы можете зарезервировать переменную для параметров, специфичных для страницы, и $.extend()
, где вызывается .cycle()
. Например, на своей странице вы можете сделать что-то вроде этого:
app_name_space.page_cycle_opts = { startingSlide: 1 };
и затем отключите в файле JavaScript, который связывает циклический материал:
app_name_space.page_cycle_opts = app_name_space.page_cycle_opts || { };
$('whatever').cycle($.extend(app_name_space.page_cycle_opts, default_options));
Я использую app_name_space
в качестве заполнителя для любого глобального пространства имен, которое ваше приложение уже использует, чтобы избежать конфликтов имен. Если вам приходилось иметь дело с несколькими экземплярами цикла на одной странице, то вам нужно индексировать page_cycle_opts
по идентификатору элемента, например:
app_name_space.page_cycle_opts['X'] = { startingSlide: 1 };
и затем далеко в другом месте:
$('whatever').each(function() {
$(this).cycle($.extend(
app_name_space.page_cycle_opts[this.id] || { },
default_options
));
});
Основная идея состоит в том, чтобы рассматривать глобальные параметры конфигурации как набор значений по умолчанию, а затем разрешать переопределения для конкретной страницы через четко определенный и документированный механизм.
Длинный многословный ответ на длинный вопрос. Надеюсь, это ясно и не сбивает с толку.