2011-08-13 13 views
2

私はshopifyの製品スライドショーにサイクルを使用しています。それは素晴らしい作品ですが、利用可能な製品画像が1つしかない場合は、ページャを隠したいと思っています。jQueryサイクルでポケットベルを表示/非表示

これにはサイクルが組み込まれていますか?

ない場合は、誰もがイメージは、それが2未満

だ場合ので、私はすべてのヘルプははるかに高く評価されて表示なしクラスを追加することができますshopifyにその製品のために利用可能であるか、多くの製品を返却する方法を知っているん。ありがとう!

はそれを考え出した...画像2

{% if product.images[2] != undefined %} 
    <script type="text/javascript"> 
     $('#prodImages').before('<div id="prodnav">').cycle({ 
      fx:  'fade', 
      speed: 1500, 
      timeout: 5000, 
      pager: '#prodnav' 
}); 
    </script> 
{% endif %} 
+1

うれしい:ここで私は最終的に落ち着いたソリューションです。しかし、コミュニティの利益のために、あなたの解決策を以下の回答として掲示し、あなた自身の答えを「受け入れる」ようにしてください。 – Sparky

答えて

0

あなたはまた、唯一この方法JavaScriptでそれを行うことができますがある場合にのみ、負荷サイクル:

$(function() { 
    $('#prodImages').before('<div id="prodnav">').cycle({ 
     fx: 'fade', 
     speed: 1500, 
     timeout: 5000, 
     pager: '#prodnav', 
     pagerAnchorBuilder: paginate 
    }); 
}); 
function paginate(ind, el) { 
    if (ind == 1) { 
     return '<a href="#" class="activeSlide">1</a><a href="#">2</a>' 
    } 
    else if (ind > 1) { 
     return '<a href="#">' + parseInt(ind)+1 + '</a>' 
    } 
} 

が呼び出すpagerAnchorBuilderを追加するにはナビゲーション(この場合は改ページ)を使用してナビゲーション内にリンクを作成します。最初のインデックス要素を無視し、2番目のリンクを作成して最初のインデックス要素を補い、他のリンクを通常のリンクに戻します。 欲しいもの:

+0

ありがとうサイモン。私はそれを与えるだろう。 – krsbrown

0

私はSimon Arnoldsのソリューションを試しましたが、jQuery Cycleは第2のスライドを第1と第2の両方のリンクに表示するためにクリックをバインドしていました。あなたはそれを自分で考え出した

$('#prodnav a:only-child').hide(); 
0
if ($('#prodImages').children().length < 2) { 
    $('#prodnav').hide(); 
} 
関連する問題