首页 > 关于js问题。

关于js问题。

$(document).swipeUp(function(){
if (isAnimating) return;
last.row = now.row;
last.col = now.col;
if (last.row != 10) { now.row = last.row+1; now.col = 1; pageMove(towards.up);}    
})

$(document).swipeDown(function(){
if (isAnimating) return;
last.row = now.row;
last.col = now.col;
if (last.row!=1) { now.row = last.row-1; now.col = 1; pageMove(towards.down);}    
})

请教大神解释一下这段代码,这个是移动端单页上下滑动的代码,谢谢。


愿意付费的话,我可以给你讲解


这段看起来像是个zepto的插件吧,因为用到了swipe事件回调。翻页的动作具体在pageMove函数里(能看到传进去的参数是页面滑动的方向),题主给的这个是挂到“上滑”“下滑”事件上的回调处理,发生事件后首先检查isAnimating变量,就是看当前有没有进行中的翻页(pageMove里肯定一进去就是设置这个变量为ture的,防止处理一半再来一个的冲突),没有的话,更新last.row(上一页计数器)为now.row(当前页计数器),然后判断是不是第一页/最后一页,如果不是的话后边就执行翻页操作(用pageMove)。那个col应该是处理页面上的组件效果的(类似翻页后,会有小东西一个个的移动淡入那种),不用管。

新手,说的有点乱,轻拍?


猜测:

// 监听向上滑动事件
$(document).swipeUp(function(){
    // 滑动过程未结束,直接返回
    if (isAnimating) return;
    // 保存当前行和列
    last.row = now.row;
    last.col = now.col;  // 这一行无意义,后面并没有使用
    // 当行数不是 10 的时候,行数加 1,列数始终等于 1,同时执行 pageMove 函数
    if (last.row != 10) { now.row = last.row+1; now.col = 1; pageMove(towards.up);}    
})
// 类似上面的函数
$(document).swipeDown(function(){
    if (isAnimating) return;
    last.row = now.row;
    last.col = now.col;
    if (last.row!=1) { now.row = last.row-1; now.col = 1; pageMove(towards.down);}    
})

愿意付费的话,我也不会给你讲解


代码不是很全,不知道last 和 now 含义

【热门文章】
【热门文章】