2011-08-13 79 views
2

我在shopify中使用循環產品幻燈片。它工作的很好,但如果只有一個產品圖像可用,我想隱藏尋呼機。在jQuery循環中隱藏/顯示尋呼機

這是否有一個內置循環的函數?

如果沒有,有沒有人知道如何返回很多產品圖片如何可用於在shopify該產品,所以我可以添加顯示無類,如果是小於2

任何幫助深表感謝。謝謝!

想通了......只是,如果有一個圖像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將調用功能(在這種情況下分頁)來創建導航中的鏈接。它會忽略第一個索引元素,爲第二個索引元素創建兩個鏈接來補償第一個鏈接,併爲其他鏈接返回正常鏈接。 希望這可以幫助某人:)

+0

謝謝西蒙。我會放棄這一點。 – krsbrown

0

我試圖Simon Arnolds解決方案,但jQuery Cycle綁定點擊甚至顯示第二張幻燈片到第一和第二鏈接。這裏的解決方案,我最終決定採用:

$('#prodnav a:only-child').hide(); 
0
if ($('#prodImages').children().length < 2) { 
    $('#prodnav').hide(); 
}