showcase.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. $(document).ready(function () {
  2. bx_showcase_view_init();
  3. $(window).on('resize', function() {
  4. bx_showcase_view_init();
  5. });
  6. });
  7. function bx_showcase_view_init() {
  8. if($('.bx-base-unit-showcase-wrapper').closest('.bx-popup-wrapper').length != 0)
  9. return;
  10. $('.bx-base-unit-showcase-wrapper').each(function() {
  11. var sClassCell = 'bx-base-unit-showcase';
  12. var sClassEnabled = 'bx-sc-enabled';
  13. var oShowcase = $(this);
  14. var oCells = oShowcase.find('.' + sClassCell);
  15. if(oCells.width() * oCells.length <= oShowcase.parent().width()) {
  16. if(oShowcase.hasClass('flickity-enabled'))
  17. oShowcase.flickity('destroy').removeClass(sClassEnabled);
  18. return;
  19. }
  20. var oShowcaseOptions = {
  21. cellSelector: '.' + sClassCell,
  22. cellAlign: 'left',
  23. imagesLoaded: true,
  24. wrapAround: true,
  25. pageDots: false
  26. };
  27. var iGroupCells = oShowcase.attr('bx-sc-group-cells');
  28. if(iGroupCells != undefined)
  29. oShowcaseOptions.groupCells = parseInt(iGroupCells);
  30. oShowcase.on('ready.flickity', function() {
  31. $(this).addClass(sClassEnabled);
  32. }).flickity(oShowcaseOptions);
  33. });
  34. }