$ .cycle и динамический контент после клика - PullRequest
1 голос
/ 02 марта 2010

Я хочу применить цикл к блоку div с динамическим содержимым. Этот контент будет создан после события клика. Как только я нажимаю на изображение, оно работает, после этого оно не работает.

Код:

$("div.cls img").click(function() {

  ....  Adding the content


 $('#myDiv').cycle({
            fx: 'scrollHorz',
            speed: 3500,
            timeout: 0, continuous: true,
            pause: 1, sync: 1
        }); 
}); 

HTML:

<div id="myDiv">
 <div>
 <a id="i1"> abc</a>
 <a id="i2"> abcd</a>
 <a id="i3"> abce</a>
   <a id="i4"> abcf</a>
 <a id="i5"> abcg</a>
 <a id="i6"> abch</a>
</div>
 <div>
 <a id="i11"> abc1</a>
 <a id="i21"> abcd1</a>
 <a id="i31"> abce1</a>
   <a id="i41"> abc1f</a>
 <a id="i51"> abcg1</a>
 <a id="i61"> abch1</a>
</div>
</div>

1 Ответ

0 голосов
/ 02 марта 2010

EDIT:

Попробуйте добавить $.cycle() снова после добавления динамического контента. Кроме того, используйте Firebug, чтобы убедиться, что ваш контент генерируется правильно.

Если это не сработает, то, похоже, вам придется изменить плагин цикла для поддержки динамического добавления «слайдов» или написать собственное решение.


С http://www.malsup.com/jquery/cycle/:

Как это работает

Плагин предоставляет метод под названием цикл, который вызывается на контейнере элемент. Каждый дочерний элемент Контейнер становится «слайдом». Опции контролировать, как и когда слайды переход.

Итак, вы можете оставить свой Javascript в покое, но HTML должен выглядеть так:

<div id="myDiv">
  <div>
    <a id="i1"> abc</a>
    <a id="i2"> abcd</a>
    <a id="i3"> abce</a>
    <a id="i4"> abcf</a>
    <a id="i5"> abcg</a>
    <a id="i6"> abch</a>
  </div>
  <div>
    <a id="i11"> abc1</a>
    <a id="i21"> abcd1</a>
    <a id="i31"> abce1</a>
    <a id="i41"> abc1f</a>
    <a id="i51"> abcg1</a>
    <a id="i61"> abch1</a>
  </div>
</div>

Кроме того, вы не должны иметь более одного элемента на странице с одинаковым идентификатором.

...