【问题标题】:Add captions to nested Jquery Cycle为嵌套的 Jquery Cycle 添加标题
【发布时间】:2012-01-16 07:54:35
【问题描述】:

我有一个使用 jquery 循环插件由嵌套幻灯片构成的画廊。我希望基于alt 文本的标题显示在幻灯片中的每个图像上,但我不知道我需要在脚本中的哪个位置激活它。如果有人可以提供帮助,我将不胜感激。谢谢!

//stop subgal initially
            $('#hovergal .subgal').cycle({
                fx: 'fade',
                timeout: 10000,
                slideExpr: 'img'
            }).cycle('pause');

            //start subgal on click
            $('#hovergal').cycle({
                fx: 'scrollUp',
                speed: 300,
                timeout: 0,
                slideExpr: '>div.subgal',
                pager: 1,
                pagerAnchorBuilder: function(i) {
                    return $('aside.sgnav a:eq(' + i + ')');
                },
                after: function(curr,next,opts) {
                    var cmd = opts.currSlide == 1 ? 'resume' : 'pause';
                    $('div.subgal').cycle(cmd);
                }
            });
    } else {//else, if there's only one gallery to be shown

        $('#hovergal .subgal').cycle({
            fx: 'fade',
            timeout: 3000,
            slideExpr: 'img'
        }); 
    }

【问题讨论】:

    标签: jquery jquery-cycle


    【解决方案1】:

    我猜每个人都和我一样陷入困境,因为我已经尝试了两个星期来寻找这个问题的答案,但没有运气。我已经放弃尝试在 Jquery.Cycle 的参数中解决它,而是将我的画廊切换为从列表而不是 div 构建,每个列表项都包含一个标题容器,该容器从 alt 标记中提取其内容。完成后,我只需将 slideExpr 更改为列表,瞧。

    仍然不需要这种方法,因为我必须构造第二个 Jquery 语句,该语句在页面加载时检查每个标题容器,确定它是否有任何内容,如果它为空则隐藏它。但它确实有效,在这一点上,这就是我真正关心的。

    也许有一天有人会给出这个问题的真正答案。与此同时,我将把这个留给任何可能遇到同样问题的人。

    【讨论】:

      【解决方案2】:

      我认为这与循环插件无关。 如果你对这些行没问题,你只需要在 $(document).ready(function() {} 中添加一个函数,类似于

      $('.slideshow img').each(function(){
          var el = $(this);
          var alttext = el.attr('alt');
          el.after('<span>'+alttext+'</span>');
      });
      

      这会将您的 alt 文本直接附加在图像之后,您可以使用 css 绝对定位它。 你可能需要适应你的结构,可能不是img和“el.after”,而是

      $('.slideshow img').each(function(){
          var el = $(this);
          var parentdiv = el.parents('div:eq(0)');
          var alttext = el.attr('alt');
          parentdiv.append('<span>'+alttext+'</span>');
      });
      

      左右。 您可以在此处找到一个工作示例(我今天的帖子) Jquery Cycle —multiple nested slideshows and cycle terminating 或在这里 http://ferienhaus-fischland-ahrenshoop.de/mini4/这个项目完成后需要删除mini4/ 欢迎任何更多问题,greetinx,Michael

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-13
        • 2012-02-19
        • 1970-01-01
        • 2015-06-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多