#jquery #cycle
#jquery #цикл
Вопрос:
Итак, я обнаружил небольшую ошибку, которая кажется допустимой, но я не могу понять, как ее исправить.
Кажется, что цикл jQuery подсчитывает теги h2 и p как дочерние элементы .slideshow и создает ссылку в сгенерированном mininav… итак, вместо всего лишь 2 дочерних элементов .slide, он отображает 4?? как в Firefox, так и в Chrome… IE отображает только 2.
Итак, есть ли способ изменить скрипт, чтобы он учитывал только первый дочерний элемент .slideshow?
<script type="text/javascript">
$(function() {
$('.slideshow')
.before('<div id="mininav" class="mininav" />')
.cycle({
fx : 'fade',
speed : 'fast',
timeout : 5500,
pause : 1,
pager : '#mininav',
before : function() { if (window.console) console.log(this.src); }
});
});
</script>
<div class="slideshow">
<div class="slide" style="background:#fff url({iw_value name='slideshow.image'/}) no-repeat top left;">
<h2>{iw_value name='slideshow.headline'/}</h2>
<p>{iw_value name='slideshow.text'/}</p>
</div>
<div class="slide" style="background:#fff url({iw_value name='slideshow.image'/}) no-repeat top left;">
<h2>{iw_value name='slideshow.headline'/}</h2>
<p>{iw_value name='slideshow.text'/}</p>
</div>
</div><!--/slideshow-->
Комментарии:
1. Я использую точно такую же структуру (с еще несколькими элементами), и у меня она отлично работает. Есть ли какая-нибудь страница, на которую мы можем посмотреть, где вы воспроизвели это?
Ответ №1:
Вы пробовали опцию ‘slideExpr’ в cycle? Это позволяет вам выбрать, какие дочерние элементы следует рассматривать как слайды.
Кроме того, я рекомендую вам дважды проверить правильность страницы, просто чтобы убедиться, что со структурой .slide divs что-то не так.
Комментарии:
1. Кажется, все проходит проверку просто отлично … я просто провел небольшой тест и прокомментировал теги <h2> и <p> в .slide DIV. и все браузеры отображаются корректно. Итак, я просто закомментировал тег <p> и оставил тег <h2> для отображения. Отлично работал во всех браузерах. Когда я отобразил тег <p>, это когда я получаю дополнительные элементы навигации, которые показывают пустое содержимое… почему только тег <p> может создать это? Я не могу в этом разобраться.
2. Я также пытался использовать переменную slideExpr: ‘div.slide’, чтобы настроить ее на подсчет только DIV слайдов, и это не сработало … это только кажется странным, когда я отображаю тег <p> …???