2012-05-05 3 views
1

これはここで私の最初の投稿ですが、私は私のウェブサイト上のニューススライダーモジュールのための素晴らしいjquery.cycleプラグインを使用jQuery.cycleページャデバイダ

...私は多くのミスをしないことを願っています。今私はこのようになりますページャを追加したい:私は、各ポケットベル番号の後に「分周器」(=「/」スラッシュ)を追加しなければならないことを意味

1月2日/ 3月4日

最後のものを除いて。しかし、私はそれがどうやったらできるのか理解できません。

これは私が持っているものです。

// 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; 
     } 
}); 

は誰が私が最後のスラッシュを取り除くのを助けることはできますか? ありがとう!

+0

緑の矢印をクリックすると、以下のいずれかの回答に印を付けてください。 – lucuma

答えて

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>'; 
    } 
} 

私見

0

私はパッドの機能を使用することを好む:

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

、その後、あなたは、if /そして、ちょうどんを削除することができます

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

return zeroPad(idx+slash, 2); 

をさらにいくつかの例がありますHow to output integers with leading zeros in JavaScript

0

lucumaによって追加されたゼロパッド関数は、私の場合は便利でしたが、少しの実験の後に出力がラッパーの外側に追加するのが好きではないことがわかりました。私はreturn <a href='#'>" + zeroPad(n,2) + "</a>&nbsp;/&nbsp;を行うにしようとしたときだから、私はので、私はその後、ラッパー内のスラッシュを追加することができラッピング<li>を追加する必要がありました。このラウンドを取得するにはクロージング後</a>

をマークアップを無視しました。一致するようにコードを修正しました

$('.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>"; 
    } 
    } 
});