#javascript #jquery #colorbox
#javascript #jquery #colorbox
Вопрос:
У меня есть набор DIVS, которые я отображаю через Colorbox.
Он работает нормально, как показано ниже
$(".my_group").colorbox({rel:'my_group', inline:true, href:$(this).attr('href')});
Теперь я хочу запустить colorbox, как только страница откроется, поэтому я попытался
$.fn.colorbox({rel:'my_group', inline:true, href:$('.my_group').attr('href')});
Что не работает. Я также пытался
$.fn.colorbox({rel:'my_group', inline:true, href:'#box1'});
Где #box1 — это первый div группы. Однако на самом деле он ДОБАВЛЯЕТ box1 в качестве другого встроенного слайда в группе.
Итак, каков наилучший способ автоматического запуска colorbox группового перехода?
Ответ №1:
Чтобы автоматически открыть colorbox (при загрузке страницы), просто добавьте open:true
в свои настройки. Кроме того, группировка с помощью ‘rel’ не обязательно должна быть в параметрах. Если вы оставите это, это позволит вам поместить все ваши группы colorbox в один вызов. Кроме того, если у ваших целевых элементов уже есть href
атрибут, вам не нужно указывать его в параметрах (colorbox автоматически ищет этот атрибут, даже в divs и еще много чего). Итак, ваш вызов colorbox может выглядеть следующим образом:
$(".cbox").colorbox({inline:true, open:true});
И затем этот html:
<a class="cbox" href="#C" rel="my_2group">C</a>
<a class="cbox" href="#D" rel="my_2group">D</a>
<a class="cbox" href="#A" rel="my_group">A</a>
<a class="cbox" href="#B" rel="my_group">B</a>
Даст вам 2 отдельных цветовых поля, в каждом из которых по 2 изображения, и первая группа откроется при загрузке страницы.
Обратите внимание, что объединение их всех в одном вызове colorbox работает только тогда, когда вы можете убедиться, что группа, которую вы хотите открыть, является самой высокой в dom (что обычно не является проблемой, поскольку встроенное содержимое обычно скрыто). Если это не так, то вам придется разделить его на пару вызовов.