diff --git a/dist/dropload.js b/dist/dropload.js
index 4eb3670..d021436 100644
--- a/dist/dropload.js
+++ b/dist/dropload.js
@@ -57,7 +57,7 @@
// 如果加载下方,事先在下方插入DOM
if(me.opts.loadDownFn != ''){
me.$element.append('
'+me.opts.domDown.domRefresh+'
');
- me.$domDown = $('.'+me.opts.domDown.domClass);
+ me.$domDown = $('.'+me.opts.domDown.domClass, me.$element);
}
// 计算提前加载距离
@@ -110,7 +110,7 @@
fnTouchmove(e, me);
}
});
- me.$element.on('touchend',function(){
+ me.$element.on('touchend touchcancel',function(){
if(!me.loading){
fnTouchend(me);
}
@@ -119,6 +119,9 @@
// 加载下方
me.$scrollArea.on('scroll',function(){
me._scrollTop = me.$scrollArea.scrollTop();
+
+ // 重新获取文档高度 #74 https://github.com/ximan/dropload/pull/74/commits/28abc29bfe65665df4e19f3ce9c7e41a27aa2c27
+ fnRecoverContentHeight(me);
// 滚动页面触发加载数据
if(me.opts.loadDownFn != '' && !me.loading && !me.isLockDown && (me._scrollContentHeight - me._threshold) <= (me._scrollWindowHeight + me._scrollTop)){
@@ -158,7 +161,7 @@
if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
e.preventDefault();
- me.$domUp = $('.'+me.opts.domUp.domClass);
+ me.$domUp = $('.'+me.opts.domUp.domClass, me.$element);
// 如果加载区没有DOM
if(!me.upInsertDOM){
me.$element.prepend('');
@@ -188,6 +191,7 @@
// touchend
function fnTouchend(me){
var _absMoveY = Math.abs(me._moveY);
+ var end = false;
if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
fnTransition(me.$domUp,300);
@@ -197,10 +201,16 @@
me.loading = true;
me.opts.loadUpFn(me);
}else{
- me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
+ me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend webkitTransitioncancel mozTransitioncancel transitioncancel',function(){
me.upInsertDOM = false;
$(this).remove();
});
+ //fix bug: 元素被隐藏后高度为0,而transitionend不会被触发
+ setTimeout(function(){
+ if(!me.$domUp.height() && !end) {
+ me.$domUp.trigger('transitionend');
+ }
+ },500);
}
me._moveY = 0;
}
@@ -208,7 +218,7 @@
// 如果文档高度不大于窗口高度,数据较少,自动加载下方数据
function fnAutoLoad(me){
- if(me.opts.loadDownFn != '' && me.opts.autoLoad){
+ if(me.opts.loadDownFn != '' && me.opts.autoLoad && !me.loading && !me.isLockDown){
if((me._scrollContentHeight - me._threshold) <= me._scrollWindowHeight){
loadDown(me);
}
@@ -281,13 +291,23 @@
// 重置
MyDropLoad.prototype.resetload = function(){
var me = this;
+ var end = false;
if(me.direction == 'down' && me.upInsertDOM){
- me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
- me.loading = false;
+ me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend webkitTransitioncancel mozTransitioncancel transitioncancel',function(){
+ end = true;
+ me.loading = false;
me.upInsertDOM = false;
$(this).remove();
fnRecoverContentHeight(me);
+ // #77 https://github.com/ximan/dropload/pull/77/commits/95c9521ed856644811ebdbf7124acdfcfd251322
+ fnAutoLoad(me);
});
+ //fix bug: 元素被隐藏后高度为0,而transitionend不会被触发
+ setTimeout(function(){
+ if(!end && !me.$domUp.height()) {
+ me.$domUp.trigger('transitionend');
+ }
+ },500);
}else if(me.direction == 'up'){
me.loading = false;
// 如果有数据
@@ -310,4 +330,4 @@
'transition':'all '+num+'ms'
});
}
-})(window.Zepto || window.jQuery);
\ No newline at end of file
+})(window.Zepto || window.jQuery);