diff --git a/dist/swiper.css b/dist/swiper.css index 30ee5d3..603b3e9 100644 --- a/dist/swiper.css +++ b/dist/swiper.css @@ -1,6 +1,6 @@ /** - * swiper - swiper.js - * @version v1.4.0 + * iswiper - swiper.js + * @version v1.4.1 * @link https://github.com/weui/swiper.git * @license MIT */ diff --git a/dist/swiper.js b/dist/swiper.js index 44d9c7c..6935df4 100644 --- a/dist/swiper.js +++ b/dist/swiper.js @@ -1,6 +1,6 @@ /** - * swiper - swiper.js - * @version v1.4.0 + * iswiper - swiper.js + * @version v1.4.1 * @link https://github.com/weui/swiper.git * @license MIT */ @@ -19,7 +19,7 @@ * @constructor */ function Swiper(options) { - this.version = '1.4.0'; + this.version = '1.4.1'; this._default = {container: '.swiper', item: '.item', direction: 'vertical', activeClass: 'active', threshold: 50, duration: 300}; this._options = extend(this._default, options); this._start = {}; @@ -124,7 +124,6 @@ me._show(me._current); - e.preventDefault(); }, false); this.$container.addEventListener('transitionEnd', function (e) { diff --git a/dist/swiper.min.css b/dist/swiper.min.css index ad941fa..043954a 100644 --- a/dist/swiper.min.css +++ b/dist/swiper.min.css @@ -1,6 +1,6 @@ /** - * swiper - swiper.js - * @version v1.4.0 + * iswiper - swiper.js + * @version v1.4.1 * @link https://github.com/weui/swiper.git * @license MIT */ diff --git a/dist/swiper.min.js b/dist/swiper.min.js index ea3c48c..5b82e4b 100644 --- a/dist/swiper.min.js +++ b/dist/swiper.min.js @@ -1,7 +1,7 @@ /** - * swiper - swiper.js - * @version v1.4.0 + * iswiper - swiper.js + * @version v1.4.1 * @link https://github.com/weui/swiper.git * @license MIT */ -!function(t,e){"function"==typeof define?define(e):this[t]=e()}("Swiper",function(){function t(t){this.version="1.4.0",this._default={container:".swiper",item:".item",direction:"vertical",activeClass:"active",threshold:50,duration:300},this._options=e(this._default,t),this._start={},this._move={},this._end={},this._prev=0,this._current=0,this._offset=0,this._goto=-1,this._eventHandlers={},this.$container=document.querySelector(this._options.container),this.$items=this.$container.querySelectorAll(this._options.item),this.count=this.$items.length,this._width=this.$container.offsetWidth,this._height=this.$container.offsetHeight,this._init(),this._bind()}function e(t,e){for(var n in e)t[n]=e[n];return t}function n(){}return t.prototype._init=function(){var t=this,e=t._width,n=t._height,i=e,r=n*t.count;"horizontal"===t._options.direction&&(i=e*t.count,r=n),t.$container.style.width=i+"px",t.$container.style.height=r+"px",Array.prototype.forEach.call(t.$items,function(t,i){t.style.width=e+"px",t.style.height=n+"px"}),t._activate(0)},t.prototype._bind=function(){var t=this;this.$container.addEventListener("touchstart",function(e){t._start.x=e.changedTouches[0].pageX,t._start.y=e.changedTouches[0].pageY,t.$container.style["-webkit-transition"]="none",t.$container.style.transition="none"},!1),this.$container.addEventListener("touchmove",function(e){t._move.x=e.changedTouches[0].pageX,t._move.y=e.changedTouches[0].pageY;var n=t._move.y-t._start.y,i="translate3d(0, "+(n-t._offset)+"px, 0)";"horizontal"===t._options.direction&&(n=t._move.x-t._start.x,i="translate3d("+(n-t._offset)+"px, 0, 0)"),t.$container.style["-webkit-transform"]=i,t.$container.style.transform=i,e.preventDefault()},!1),this.$container.addEventListener("touchend",function(e){t._end.x=e.changedTouches[0].pageX,t._end.y=e.changedTouches[0].pageY;var n=t._end.y-t._start.y;"horizontal"===t._options.direction&&(n=t._end.x-t._start.x),t._prev=t._current,n>t._options.threshold?t._current=0===t._current?0:--t._current:n<-t._options.threshold&&(t._current=t._current-1){t._activate(t._current);var i=t._eventHandlers.swiped||n;i.apply(t,[t._prev,t._current]),t._goto=-1}e.preventDefault()},!1)},t.prototype._show=function(t){this._offset=t*this._height;var e="translate3d(0, -"+this._offset+"px, 0)";"horizontal"===this._options.direction&&(this._offset=t*this._width,e="translate3d(-"+this._offset+"px, 0, 0)");var n=this._options.duration+"ms";this.$container.style["-webkit-transition"]=n,this.$container.style.transition=n,this.$container.style["-webkit-transform"]=e,this.$container.style.transform=e},t.prototype._activate=function(t){var e=this._options.activeClass;Array.prototype.forEach.call(this.$items,function(n,i){n.classList.remove(e),t===i&&n.classList.add(e)})},t.prototype.go=function(t){return 0>t||t>this.count-1||t===this._current?void 0:(0===t?(this._current=0,this._prev=0):(this._current=t,this._prev=t-1),this._goto=t,this._show(this._current),this)},t.prototype.next=function(){return this._current>=this.count-1?void 0:(this._prev=this._current,this._show(++this._current),this)},t.prototype.on=function(t,e){if(this._eventHandlers[t])throw new Error("event "+t+" is already register");if("function"!=typeof e)throw new Error("parameter callback must be a function");return this._eventHandlers[t]=e,this},t}); \ No newline at end of file +!function(t,e){"function"==typeof define?define(e):this[t]=e()}("Swiper",function(){function t(t){this.version="1.4.1",this._default={container:".swiper",item:".item",direction:"vertical",activeClass:"active",threshold:50,duration:300},this._options=e(this._default,t),this._start={},this._move={},this._end={},this._prev=0,this._current=0,this._offset=0,this._goto=-1,this._eventHandlers={},this.$container=document.querySelector(this._options.container),this.$items=this.$container.querySelectorAll(this._options.item),this.count=this.$items.length,this._width=this.$container.offsetWidth,this._height=this.$container.offsetHeight,this._init(),this._bind()}function e(t,e){for(var n in e)t[n]=e[n];return t}function n(){}return t.prototype._init=function(){var t=this,e=t._width,n=t._height,i=e,r=n*t.count;"horizontal"===t._options.direction&&(i=e*t.count,r=n),t.$container.style.width=i+"px",t.$container.style.height=r+"px",Array.prototype.forEach.call(t.$items,function(t,i){t.style.width=e+"px",t.style.height=n+"px"}),t._activate(0)},t.prototype._bind=function(){var t=this;this.$container.addEventListener("touchstart",function(e){t._start.x=e.changedTouches[0].pageX,t._start.y=e.changedTouches[0].pageY,t.$container.style["-webkit-transition"]="none",t.$container.style.transition="none"},!1),this.$container.addEventListener("touchmove",function(e){t._move.x=e.changedTouches[0].pageX,t._move.y=e.changedTouches[0].pageY;var n=t._move.y-t._start.y,i="translate3d(0, "+(n-t._offset)+"px, 0)";"horizontal"===t._options.direction&&(n=t._move.x-t._start.x,i="translate3d("+(n-t._offset)+"px, 0, 0)"),t.$container.style["-webkit-transform"]=i,t.$container.style.transform=i,e.preventDefault()},!1),this.$container.addEventListener("touchend",function(e){t._end.x=e.changedTouches[0].pageX,t._end.y=e.changedTouches[0].pageY;var n=t._end.y-t._start.y;"horizontal"===t._options.direction&&(n=t._end.x-t._start.x),t._prev=t._current,n>t._options.threshold?t._current=0===t._current?0:--t._current:n<-t._options.threshold&&(t._current=t._current-1){t._activate(t._current);var i=t._eventHandlers.swiped||n;i.apply(t,[t._prev,t._current]),t._goto=-1}e.preventDefault()},!1)},t.prototype._show=function(t){this._offset=t*this._height;var e="translate3d(0, -"+this._offset+"px, 0)";"horizontal"===this._options.direction&&(this._offset=t*this._width,e="translate3d(-"+this._offset+"px, 0, 0)");var n=this._options.duration+"ms";this.$container.style["-webkit-transition"]=n,this.$container.style.transition=n,this.$container.style["-webkit-transform"]=e,this.$container.style.transform=e},t.prototype._activate=function(t){var e=this._options.activeClass;Array.prototype.forEach.call(this.$items,function(n,i){n.classList.remove(e),t===i&&n.classList.add(e)})},t.prototype.go=function(t){return 0>t||t>this.count-1||t===this._current?void 0:(0===t?(this._current=0,this._prev=0):(this._current=t,this._prev=t-1),this._goto=t,this._show(this._current),this)},t.prototype.next=function(){return this._current>=this.count-1?void 0:(this._prev=this._current,this._show(++this._current),this)},t.prototype.on=function(t,e){if(this._eventHandlers[t])throw new Error("event "+t+" is already register");if("function"!=typeof e)throw new Error("parameter callback must be a function");return this._eventHandlers[t]=e,this},t}); \ No newline at end of file diff --git a/package.json b/package.json index 566f0b7..5b2a6de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "swiper", - "version": "1.4.0", + "name": "iswiper", + "version": "1.4.1", "description": "swiper.js", "author": "wechat ui team", "scripts": { diff --git a/src/swiper.js b/src/swiper.js index 7792141..f645d4c 100644 --- a/src/swiper.js +++ b/src/swiper.js @@ -118,7 +118,6 @@ me._show(me._current); - e.preventDefault(); }, false); this.$container.addEventListener('transitionEnd', function (e) { diff --git a/test/test.js b/test/test.js index 5871628..6c0a406 100644 --- a/test/test.js +++ b/test/test.js @@ -63,23 +63,6 @@ describe('swiper should have the following properties', function(){ } }); -describe('it should add classes to dom', function(){ - var $slider = swiper.$items[swiper._current]; - var $items = $slider.querySelectorAll('*[toggle-class]'); - Array.prototype.forEach.call($items, function($item, index){ - var clazz = $item.getAttribute('toggle-class').split(/\s+/); - for(var i = 0, len = clazz.length; i < len; i++){ - (function(i){ - it('.' + clazz, function(done){ - setTimeout(function(){ - assert($item.className.indexOf(clazz[i]) !== -1); - done(); - }, 1000); - }); - })(i); - } - }); -}); describe('.next()', function (){ it('should translateY the container to the slide height & should add classes to dom', function (){ @@ -96,6 +79,20 @@ describe('.next()', function (){ }); }); +describe('.go()', function (){ + it('should translateY the container to the slide height & should add classes to dom', function (){ + swiper.go(0); + for(var i = 1, len = swiper.$items.length; i < len; i++){ + swiper.go(i); + var height = swiper.$items[i].style['height'].replace('px', ''); + var expect = 'translate3d(0px, -'+ (height * i) +'px, 0px)'; + + assert(swiper._current === i); + assert(swiper.$container.style['-webkit-transform'] === expect); + } + }); +}); + describe('.on()', function (){ it('swiped listener should not be empty', function (){