2016-10-21 10 views
0

私は奇妙な問題に取り組んでいますが、それは私の心が完全に詰まった単純な解決策でなければなりません。三度の例では、以下に示すよう:jQueryを使って値をインクリメントしてループを印刷する

私の機能がある場合:

function(){ 
    if (jQuery('#gallery-v').length) { 
     var $container = jQuery('#gallery-v'); 
     alert($container); 
     $container.imagesLoaded(function(){ 
      $container.isotope({ 
       filter: '*', 
       animationOptions: { 
        duration: 750, 
        easing: 'linear', 
        queue: false 
       } 
      }); 
     }); 
     jQuery('#filterlist_v a').click(function() { 
      alert(this); 
      jQuery('#filterlist_v .current').removeClass('current'); 
      jQuery(this).addClass('current'); 

      var selector = jQuery(this).attr('data-filter'); 
      $container.isotope({ 
       filter: selector, 
       animationOptions: { 
        duration: 750, 
        easing: 'linear', 
        queue: false 
       } 
      }); 
      return false; 
     }); 
    } 
} 

私は単にそれだけ'#gallery-v1''#gallery-v'ように私のセレクタ値をインクリメントすることによって、および'#filterlist_v1 a'から'#filterlist_v a'のための2倍以上になりたい単に増分は私のgallery-v最初の反復2の1で第二などなどに...ここで

は、私が試した私のコードです:

var count = 2; 
for(var i = 0; i < count; i++){ 
function(){ 
     if (jQuery('#gallery-v' +i +'').length) { 
      var $container = jQuery('#gallery-v' +i +''); 
      alert($container); 
      $container.imagesLoaded(function(){ 
       $container.isotope({ 
        filter: '*', 
        animationOptions: { 
         duration: 750, 
         easing: 'linear', 
         queue: false 
        } 
       }); 
      }); 
      jQuery('#filterlist_v' +i +' a').click(function() { 
       alert(this); 
       jQuery('#filterlist_v +i +' .current').removeClass('current'); 
       jQuery(this).addClass('current'); 

       var selector = jQuery(this).attr('data-filter'); 
       $container.isotope({ 
        filter: selector, 
        animationOptions: { 
         duration: 750, 
         easing: 'linear', 
         queue: false 
        } 
       }); 
       return false; 
      }); 
     } 
    } 
} 

が、私は間違っているにしてください何が起こっているのか:( を望んでいたとして、その私のjsファイル内の私のコードを印刷していないが? ?あなたがあるため最初のループで#gallery-v0#filterlist_v0へ(i === 0を)要素のidを変更する必要があり、あなたのHTMLコード内

答えて

1

あなたは、セレクタを取得する:あなたがここに別のエラー持た

'#gallery-v' + i + '' -> #gallery-v0 
'#filterlist_v0' + i + '' -> filterlist_v0 

'#filterlist_v +i +' .current'を、それが'#filterlist_v' + i + ' .current'する必要があります。コードの最初の部分が動作すると仮定すると、それはうまくいくでしょう。

+0

私はあなたの言葉の言葉を下回ることができませんでした – laraib

+0

エラーが確実に削除されますが、私はこのことを考えていませんでした(jQuery( '#gallery-v' + i + '')。最初の反復で( '#gallery-v0')。length)と(jQuery( '#gallery_v1')。length)を2回目の反復で等...私はちょうどそれらのセレクタを私のHTMLページから入手したい – laraib

+0

があり、なぜ私のIDを変更する必要がありますか?それのための任意の問題?私はループの中で何か問題が出ないようにしています。 – laraib

関連する問題