zepto.js 下单次swipeUp 事件,貌似连续触发了多次
远人老师您好,
我昨天晚上看完了您的代码,想把代码改造成滑动组件,但是却遇到了一个问题。请看以下代码:
<!DOCTYPE html>
<html>
<head>
<title>modification_05.2_demo</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="zepto.min.js"></script>
<script type="touch.js"></script><!--delet-->
<link href="animate.css" rel="stylesheet" type="text/css">
<style>
blockquote, body, button, dd, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, hr, input, legend, li, ol, p, pre, td, textarea, th, ul,img{
margin: 0;
padding: 0;
}
body{
background:#c8161e;
overflow:hidden
}
ul{
list-style:none
}
.clearfix:after{
display: block; content: "\20"; height: 0; clear: both; overflow: hidden; visibility: hidden;
}/*ie8ÒÔÉÏ*/
.img-container li img{}
img{
width: 100%
}
.img-container li {
overflow:hidden;
}
</style>
</head>
<body>
<ul class="img-container clearfix" id="container"></ul>
<script>
var total = 20;
var i = 1;
var num = 1;
var tmpl ='<li data-id="'+i+'" class="animated bounceIn"><img src="img/'+i+'.jpg"></li>';
$('#container').html(tmpl);
$('#container').delegate('li','swipeUp',function(){
$('#container').swipeUp(function(){
if(num>total){
num = total;
}else{
num++;
}
console.log('num: '+num);
var tmpl_2 = '<li data-id="'+num+'" class="animated bounceIn"><img src="img/'+num+'.jpg"></li>';
$('#container').html(tmpl_2);
})
});
</script>
</body>
</html>直接把该代码放进源代码的根目录即可运行。
现在的问题是,当我向上滑动一次图片,num应该是直接 +1,但每次滑动的实际变化却是 +0、+1、+2、+3、+4...
我在console下查看num是正常的+1,不过后一次会比前一次多触发一次事件;
所以我想麻烦老师您debug一下。