Вход Регистрация
Файл: touchSpace/js/slider.js
Строк: 135
<?php
function HorizontalSlider(e){this.el=e,this.check()}extend(HorizontalSlider.prototype,{_setup:function(){var e,t,r=this;r.cb_on_resize||(r.cb_on_resize=class_func(r,r._onresize),$(window).on("resize",r.cb_on_resize),page_loader&&page_loader.push("shutdown",function(){$(window).off("resize",r.cb_on_resize)})),this.el.addClass("photos_slider"),r.wrap=r.el.find(".photos_slider-wrap"),r.wrap.length?(r.prev=r.el.find(".photos_slider-prev"),r.next=r.el.find(".photos_slider-next")):(r._setupHandlers(r.wrap),e=r.el.children(),t='<div class="photos_slider-wrap"></div>',e.length>0?e.wrapAll(t):r.el.append(t),r.wrap=r.el.find(".photos_slider-wrap"),r.prev=$('<div class="photos_slider-prev"><div class="ico ico_slider-prev"></div></div>'),r.next=$('<div class="photos_slider-next"><div class="ico ico_slider-next"></div></div>'),r.el.append(this.prev).append(this.next),r.prev.on("click",function(e){e.preventDefault(),r.move(-(.5*r.wrap.innerWidth()))}),r.next.on("click",function(e){e.preventDefault(),r.move(.5*r.wrap.innerWidth())}),r.wrap.on("touchstart",function(e){var t=e.originalEvent.touches;t.length>1||(r.last_x=t[0].clientX,r.last_scroll=r.wrap.scrollLeft())}),r.wrap.on("touchmove",function(e){e.stopPropagation();var t=e.originalEvent.touches;if(!(t.length>1))return r.move(r.last_x-t[0].clientX,r.last_scroll),!1})),e=r.wrap.children().addClass("photos_slider-item"),r.first=e.first(),r.last=e.last(),r.wrap.scrollLeft(0)},_maxScroll:function(){var e=this.last.outerWidth();return{max:this.last.offset().left+.5*e,width:e}},move:function(e,t){var r,i,s,o,l,n=this,a=n._maxScroll();if(n.overflow)return"number"==typeof t?(r=e,i=t,s=n.wrap.scrollLeft()):(s=i=n.wrap.scrollLeft(),r=.5*n.wrap.innerWidth()*(0>e?-1:1)),o=Math.floor(i+r),l=n.wrap.offset().left+n.wrap.outerWidth(),"number"==typeof t?(n.wrap.scrollLeft(o),n._onresize()):(l>=a.max&&(o+=a.width+40),o<.5*n.first.outerWidth()&&(o=0),n.wrap.animate({scrollLeft:o},500,function(){n._onresize()})),this},_onresize:function(){var e,t=this;t.last.length&&(e=t.last.offset(),t.prev.visible(t.overflow&&t.wrap.scrollLeft()>0),t.next.visible(e.left+t.last.outerWidth()>t.wrap.offset().left+t.wrap.innerWidth()))},_setupHandlers:function(e){e.find("img").on("load",class_func(self,self._onresize))},append:function(e){return this._setupHandlers(e),this.wrap.append(e.addClass(".photos_slider-item")),this.last_el=e,this.check()},prepend:function(e){return this._setupHandlers(e),this.wrap.prepend(e.addClass(".photos_slider-item")),this.first_el=e,this.check()},check:function(){var e,t=this;return t.wrap&&t.wrap.parent().length||t._setup(),e=t.last.offset(),t.overflow=e&&e.left+t.last.outerWidth()+t.wrap.scrollLeft()>t.wrap.offset().left+t.wrap.innerWidth(),t._onresize(),this}}),$.fn.imagesSlider=function(e){var t,r=this.first();return(t=r.prop("slider"))||(t=new HorizontalSlider(r,e),r.prop("slider",t)),t.check()};
?>
Онлайн: 0
Реклама