#jquery #html #css #fancybox
#jquery #HTML #css #fancybox
Вопрос:
У меня есть некоторый HTML-код, который отображает 9 изображений со стилями fancybox. Я продублировал HTML-код между тегами и добавил уникальный идентификатор для каждого дублирования в styles.css.
Однако в дублированных разделах fancybox не работает.
Это первые несколько строк кода каждого раздела. Каждый дублированный раздел отличается только тем, что «work» — это «work1», «work2» и т.д. Я предполагаю, что где-то в этих сопроводительных файлах js есть другой атрибут, или fancybox.js или файлы fancybox.css. Но я просмотрел эти файлы и не нашел ничего общего с HTML и styles.css.
<section class="clearfix" id="work" name="work">
<header>
<h2>Graphic Design</h2>
</header>
<ul class="projects list">
Fancybox должен быть инициализирован, я думаю, следующими несколькими строками:
<li><figure><a href="images/pricing_table_3.jpg" rel="work"><img
src="images/work_img.jpg" alt="Image" /></a>
<figcaption><a href="http://website.com/">Visit Livesite<span>amp;nbsp;amp;rarr;
</span></a></figcaption>
</figure>
Я меняю только атрибут «work» в этом коде. work1 и т.д.
Я понимаю, что вы имеете в виду, добавляя этот код к каждому тегу #work, но #work, #work1 и т.д. Отображаются только в styles.css и нигде больше ни в одном из других файлов.
Я попытался вставить этот код, и, похоже, это не имело значения. Я думаю, что основная проблема заключается в том, что я даже не могу найти, где fancybox инициализируется в блоке ‘work’. Если бы я мог найти это, я бы добавил остальные.
Я вставил код между двумя приведенными выше примерами кода, подобными этому:
<script type="text/javascript">
$("#work2 a").fancybox();
</script>
Комментарии:
1. Вы должны обновить свой пример кода, чтобы включить эти ссылки и изображения, о которых вы говорите…
Ответ №1:
Вам необходимо инициализировать FancyBox для всех тегов link (…), для которых вы хотите иметь такое поведение. Пример:
$("#work a").fancybox(); // initialize fancybox on "work" block
$("#work1 a").fancybox(); // initialize fancybox on "work1" block
$("#work2 a").fancybox(); // initialize fancybox on "work2" block
Описание:
- «#work» — это идентификатор контейнера — в вашем случае блока «section»
- за ним (в вызове функции ‘$(«#work a»)’) следует тег link, к которому вы добавляете поведение FancyBox.
Комментарии:
1. Примечание после факта. Я обнаружил, что причиной были теги «rel». Меняем их все на rel = work. Это сработало.