Плагин цикла jQuery

#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> …???