jQuery Cycle 创建太多分页器链接

发布于 2024-12-28 01:42:58 字数 1262 浏览 0 评论 0原文

我搜索了又搜索,但似乎找不到该查询的任何合适的结果。

基本上我有通过 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

它在 firebug 中的样子(据我所知很好,减去img-nav 被“a”标签淹没,因此它被关闭): http://cl.ly/3a402X3q1Q2r0q0i2m1u

任何帮助将不胜感激。如果我的帖子有任何问题,我提前道歉,我是第一次来这里:)

非常感谢, 马塞尔

I've searched and search but can't seem to find any decent results for this query.

Basically I have pages being pulled in via ajax - including images - but jquery cycle is creating a ton of entries for the pager, and only some of the links work. However, if I target the images more specifically (just targeting #images instead of #img-container #images), the pager counts correctly, but then the pager links don't work. It's driving me nuts!

The HTML output from expressionengine is sound, it's just placing all the img tags from the query inside the #images div with no problems. All very clean.

Here's the 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',
      });
}

And the HTML (minus the other expressionengine stuff):

<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>

Here's the result of an instance with 9 images:
http://cl.ly/2Q25292L1u222a333y2Q

And how it looks in firebug (fine as far as I can tell, minus the img-nav being flooded with 'a' tags, hence why it's closed):
http://cl.ly/3a402X3q1Q2r0q0i2m1u

Any help would be immensely appreciated. I apologise in advance if there's anything amiss with my post, I'm a first-timer here :)

Many thanks,
Marcel

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绅士风度i 2025-01-04 01:42:58

rjb 是对的,PageAnchorBuilder 函数控制寻呼机,这取决于您生成标记的方式。

实现此目的的一种方法是使用 Matrix,并调用通道字段循环两次:一次用于图像,一次用于寻呼机。

    {!-- 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';
       }
    });

rjb is right, the PageAnchorBuilder function controls the pager and it depends on how you're generating the markup.

One way to do this is with Matrix, and call the Channel Field loop twice: once for the images, once for the pager.

    {!-- 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';
       }
    });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文