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
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 に答える
0

パッド機能を使用したいのですが:

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 に答える