(function( $ ) { var modOffers = function(element, options){ var settings = $.extend({}, $.fn.modOffers.defaults, options); var vars = { 'widthContainer' : 0, 'divOfferWidth' : 0, 'countOffer' : 0, 'countP' : 3, 'pos' : 0, 'ofertyDetail' : null, 'widthAll' : 0, 'isRun':false }; vars.countOffer = $(element).find('.oferta').length; vars.ofertyDetail = $(element).find('.ofertyDetail'); var aNext = $(''); $(aNext).addClass('aNext'); $(aNext).attr('href','#empty-anchor'); //$(aNext).css('display','none'); var aPrev = $(''); $(aPrev).addClass('aPrev'); $(aPrev).attr('href','#empty-anchor'); //$(aPrev).css('display','none'); $(aNext).on('click',function(e){ if(!vars.isRun) return false; var p = vars.pos; var przesun = vars.widthContainer; var leftDiv = parseInt(vars.ofertyDetail.css('left')); var leftDivAbs = Math.abs(parseInt(vars.ofertyDetail.css('left'))); var ileLeft = przesun+leftDivAbs; if(vars.widthAll - ileLeft == 0) przesun = vars.widthAll; if(vars.widthAll-(leftDivAbs+przesun) < vars.widthContainer) przesun = vars.widthAll-(leftDivAbs+przesun); $(vars.ofertyDetail).animate({ left: '-='+przesun },500,'linear',function() { }); e.preventDefault(); }) $(aPrev).on('click',function(e){ if(!vars.isRun) return false; var przesun = vars.widthContainer; var leftDiv = parseInt(vars.ofertyDetail.css('left')); var leftDivAbs = Math.abs(parseInt(vars.ofertyDetail.css('left'))); if(leftDivAbs-vars.widthContainer < 0) przesun = vars.widthAll - (vars.widthAll-leftDivAbs); if(przesun == 0) przesun = (-vars.widthAll)+vars.widthContainer; $(vars.ofertyDetail).animate({ left: '+='+przesun },500,'linear',function() { }); e.preventDefault(); }); $(element).parent().append(aPrev); $(element).parent().append(aNext); $(window).on('load',function(){ $(element).css('display','block'); //$(aNext).css('display','block'); //$(aPrev).css('display','block'); $(window).on('resize', function(){ var elPr = $(element).find('.oferta'); //var hElem = $(elPr).outerHeight()+parseInt($(elPr).css('paddingTop'))+parseInt($(elPr).css('paddingBottom')); var hElem = $(elPr).outerHeight(); //console.log($(element).find('.product').eq(0).outerHeight()); //console.log($(element).find('.ofertyDetail').height()); //$(element).css('height',hElem); vars.widthContainer = $(element).width(); if(vars.widthContainer < 640) vars.countP = 1; else vars.countP = settings.countImage; if(vars.countOffer > vars.countP) { vars.isRun = true; $(element).parent().addClass('isRun'); } else{ vars.isRun = false; $(element).parent().removeClass('isRun'); } vars.divOfferWidth = parseInt(vars.widthContainer/vars.countP); vars.widthAll = vars.countOffer*vars.divOfferWidth; $(vars.ofertyDetail).css('width',vars.countOffer*vars.divOfferWidth); $(element).find('.oferta').css('width',vars.divOfferWidth); $(vars.ofertyDetail).css('left','0px'); }).trigger('resize'); }); return this; } $.fn.modOffers = function(options) { return this.each(function(key, value){ var element = $(this); if (element.data('mp')) return element.data('mp'); var mp = new modOffers(this, options); element.data('mp', mp); }); }; $.fn.modOffers.defaults = { countImage: 3 } })( jQuery );