mirror of
https://github.com/lubuntu-team/lubuntu.me.git
synced 2025-07-05 20:11:30 +00:00
1 line
2.0 KiB
JavaScript
1 line
2.0 KiB
JavaScript
jQuery(function(e){e(".sow-carousel-wrapper").each(function(){var a=e(this),n=a.closest(".sow-carousel-container"),t=a.closest(".sow-carousel-container").parent(),s=a.find(".sow-carousel-items"),i=a.find(".sow-carousel-item"),o=i.eq(0),r=0,c=1,l=!1,u=i.length,f=a.data("found-posts"),d=u===f,w=o.width()+parseInt(o.css("margin-right")),h=n.hasClass("js-rtl"),p=h?"margin-right":"margin-left",g=function(){if(r<0&&(r=0),r>=a.find(".sow-carousel-item").length-1&&(r=a.find(".sow-carousel-item").length-1,!l&&!d)){l=!0,c++,s.append('<li class="sow-carousel-item sow-carousel-loading"></li>');var n=t.find('input[name="instance_hash"]').val();e.get(a.data("ajax-url"),{query:a.data("query"),action:"sow_carousel_load",paged:c,instance_hash:n},function(n,t){e(n.html).appendTo(s).hide().fadeIn(),a.find(".sow-carousel-loading").remove(),u=a.find(".sow-carousel-item").length,d=u===f,l=!1})}s.css("transition-duration","0.45s"),s.css(p,-w*r+"px")};if(t.on("click","a.sow-carousel-previous",function(e){e.preventDefault(),r-=h?-1:1,g()}),t.on("click","a.sow-carousel-next",function(e){e.preventDefault(),r+=h?-1:1,g()}),"function"==typeof a.swipe){var m,v=!1,D=0,I=0,T=0,x=0,y=h?"right":"left",M=function(e){return e<50&&e>-w*u&&(s.css("transition-duration","0s"),s.css(p,e+"px"),!0)},_=function(){var e=parseInt(s.css(p));r=Math.abs(Math.round(e/w)),g()};a.on("click",".sow-carousel-item a",function(e){v&&(e.preventDefault(),v=!1)}),a.swipe({excludedElements:"",triggerOnTouchEnd:!0,threshold:75,swipeStatus:function(e,a,n,t,s,i,o){if("up"===n||"down"===n)return!1;if("start"===a)I=-w*r,x=(new Date).getTime(),clearInterval(m);else if("move"===a){n===y&&(t*=-1),M(I+t);var c=(new Date).getTime(),l=(c-x)/1e3;T=(t-D)/l,x=c,D=t}else if("end"===a)if(v=!0,n===y&&(t*=-1),Math.abs(T)>400){T*=.1;var u=(new Date).getTime(),f=0;m=setInterval(function(){var e=((new Date).getTime()-u)/1e3;f+=T*e;var a=I+t+f,s=Math.abs(T)-30<0;n===y?T+=30:T-=30,!s&&M(a)||(clearInterval(m),_())},20)}else _();else"cancel"===a&&g()}})}})}); |