jQuery Cycle创建了太多的寻呼机链接

时间:2012-01-18 01:02:02

标签: jquery expressionengine jquery-cycle

我已搜索并搜索但似乎无法为此查询找到任何不错的结果。

基本上我通过ajax拉入页面 - 包括图像 - 但jquery循环为寻呼机创建了大量条目,只有部分链接起作用。但是,如果我更具体地定位图像(仅针对#images而不是#img-container #images),则寻呼机计数正确,但寻呼机链接不起作用。这让我疯了!

来自expressionengine的HTML输出是合理的,它只是将查询中的所有img标记放在#images div中,没有任何问题。一切都很干净。

这是jQuery:

 $.ajax({
 type: "POST",
 url: "url_is_here",
 data: {'entryId':entryId},
 success: function(data){
      $("#work .entry").html(data);
      $('#img-container #images').cycle({
            fx:     'fade',
            speed:  'slow',
            timeout: 5000,
            pause:  1,
            pager:  '.img-nav',
      });
}

HTML(减去其他表达式的东西):

<div id="img-container">
<div id="images">
    {work-images}{exp:imgsizer:size image="{image}" width="600" alt="{caption}"}{/work-images}  </div>
<div class="img-nav">
</div>

以下是包含9张图片的实例的结果: http://cl.ly/2Q25292L1u222a333y2Q

它在萤火虫中看起来如何(据我所知很好,减去img-nav充斥着'a'标签,因此它为什么关闭): http://cl.ly/3a402X3q1Q2r0q0i2m1u

任何帮助都会非常感激。如果我的帖子有任何不妥之处,我会提前道歉,我是第一次来这里:)

非常感谢, 烫发

1 个答案:

答案 0 :(得分:1)

rjb是对的,PageAnchorBuilder函数控制着寻呼机,它取决于你如何生成标记。

一种方法是使用Matrix,并调用Channel Field循环两次:一次用于图像,一次用于寻呼机。

    {!-- SLIDE IMAGES --}
    <div id="cycle">
        {cf_slide_tag_pair}
            <a href="{slide_link}"><img src="{slide_image}" /></a>
        {/cf_slide_tag_pair}
    </div>

    {!-- PAGER --}
    <ul id="pager">
        {cf_slide_tag_pair}
          <li><a href="#">{slide_title}</a></li>
        {/cf_slide_tag_pair}
    </ul>

    {!-- CYCLE CALL --}
    $('#cycle').cycle({
       activePagerClass: 'active',
       pager: '#pager',
       pause: 1,
       speed: 'fast',
       timeout: 22000,
       pagerAnchorBuilder: function(index, slide) {
         return '#pager li:eq('+(idx)+') a';
       }
    });