1

这是我的第一篇文章,希望我不会犯很多错误......

我在我的网站上使用美妙的 jquery.cycle 插件作为新闻滑块模块。现在我想添加一个如下所示的寻呼机:

01 / 02 / 03 / 04

这意味着我必须在除最后一个之外的每个寻呼机号码之后添加“分隔符”(=“/”一个正斜杠)。但我不知道我怎么可能做到这一点。

这就是我所拥有的:

// redefine Cycle's updateActivePagerLink function 
$.fn.cycle.updateActivePagerLink = function(pager, currSlideIndex) {
    $(pager)
        .find('a')
        .removeClass('active') 
        .filter('a:eq('+currSlideIndex+')')
        .addClass('active'); 
};



$('div.teaser-news')
    .after('<div class="pager-news"></div>')
    .cycle({ 
        fx:     'scrollRight',
        rev:        1,
        speed:  'slow', 
        timeout: 6000,
        pager:'.pager-news', 
        pagerAnchorBuilder: function(idx, slide) {

            var numSlides = $("div.teaser-news").length;

            if( idx < 10){
                idx += '<a href="#">0' + idx + '</a><span class="divider">&nbsp;&#47;&nbsp;</span>';
            } else {
                idx += '<a href="#">' + idx + '</a><span class="divider">&nbsp;&#47;&nbsp;</span>';
            }

            return idx; 
        }
});

有人可以帮我摆脱最后一个斜线吗?谢谢!

4

3 回答 3

0

我宁愿只使用 pad 功能:

function zeroPad(num, places) {
  var zero = places - num.toString().length + 1;
  return Array(+(zero > 0 && zero)).join("0") + num;
}

然后您可以删除 if/then 并执行以下操作:

var slash = "/";
if (idx=(numSlides-1))
    slash = "";

return zeroPad(idx+slash, 2); 

还有几个例子如何在 JavaScript 中输出带前导零的整数

于 2012-05-08T17:08:00.493 回答
0

lucuma 添加的零填充功能对我来说很方便,尽管经过一些实验后,我发现输出不喜欢在包装器之外添加。因此,当我尝试这样做return <a href='#'>" + zeroPad(n,2) + "</a>&nbsp;/&nbsp;时,在关闭后忽略了标记</a>

为了解决这个问题,我必须添加一个包装<li>,这样我就可以在包装内添加正斜杠。我已经修改了我的代码以匹配

$('.carousel .images').cycle({
   timeout: 5000,
   pager : '.pager-news',
   pagerAnchorBuilder: function(idx, slide) {
     var n = idx+1;
     var wrapper = $("div.teaser-news");
     if(n != wrapper.children().length){
       return "<li><a href='#'>" + zeroPad(n,2) + "</a>&nbsp;/&nbsp;</li>";  
     }else{
       return "<li><a href='#'>" + zeroPad(n,2) + "</a></li>"; 
     }
   }
 });
于 2013-04-07T12:31:22.717 回答
0
if( idx < 10){
   idx += '<a href="#">0' + idx + '</a>';
   if (idx+1 != numSlides) {
      idx += '<span class="divider">&nbsp;&#47;&nbsp;</span>';
   }
} else {
   idx += '<a href="#">' + idx + '</a>';
   if (idx+1 != numSlides) {
      idx += '<span class="divider">&nbsp;&#47;&nbsp;</span>';
   }
}

恕我直言

于 2012-05-05T11:30:05.327 回答