js怎样实现手机浏览器中拖动

wttyzy 2012-12-29 02:28:21
最近用js,jquery在开发一个类webqq的网页,用手机登录web.qq.com可以看到5个桌面间,用手指划过进行切换的效果,自己做了一下,但实验没成功,无法实现!

跪求各位高手们给予指点,非常谢谢!

我想实现的效果:
1. 手指划过,实现桌面的切换。
2. 打开的窗口,实现窗口拖动。

大家可以上webqq去看看,用手机也可以去看看。。 跪等!!!
...全文
1389 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingchh 2015-07-22
  • 打赏
  • 举报
回复
补充: touches 函数怎么用呢
jingchh 2015-07-22
  • 打赏
  • 举报
回复
引用 3 楼 Shawn0691302 的回复:
你做的是webAPP项目么?手指滑动切换效果,可以使用jqm里有个swipeleft和swiperight在手机屏幕上的滑动事件。 你说的拖动效果可以用JS写鼠标事件来实现拖动,具体不知道你是什么架构,你是做移动开发的?。
这个怎么用呢? 谢谢
wttyzy 2013-01-16
  • 打赏
  • 举报
回复
我不是做移动开发的,在做web时,忽然来了兴趣就去手机试了试……对移动的js编程不了解,谢谢了,结贴……
scscms太阳光 2013-01-06
  • 打赏
  • 举报
回复
核心是你要懂得手机屏幕划动事件:手机触摸切换广告图片
function touches(obj,direction,fun){
        //obj:ID对象
        //direction:swipeleft,swiperight,swipetop,swipedown,singleTap,touchstart,touchmove,touchend
        //          划左,    划右,     划上,   划下,    点击,    开始触摸, 触摸移动, 触摸结束
        //fun:回调函数
        var defaults = {x: 5,y: 5,ox:0,oy:0,nx:0,ny:0};
        direction=direction.toLowerCase();
        //配置:划的范围在5X5像素内当点击处理
        obj.addEventListener("touchstart",function() {
            defaults.ox = event.targetTouches[0].pageX;
            defaults.oy = event.targetTouches[0].pageY;
            defaults.nx = defaults.ox;
            defaults.ny = defaults.oy;
            if(direction.indexOf("touchstart")!=-1)fun();
        }, false);
        obj.addEventListener("touchmove",function() {
            event.preventDefault();
            defaults.nx = event.targetTouches[0].pageX;
            defaults.ny = event.targetTouches[0].pageY;
            if(direction.indexOf("touchmove")!=-1)fun();
        }, false);
        obj.addEventListener("touchend",function() {
            var changeY = defaults.oy - defaults.ny;
            var changeX = defaults.ox - defaults.nx;
            if(Math.abs(changeX)>Math.abs(changeY)&&Math.abs(changeY)>defaults.y){
                //左右事件
                if(changeX > 0) {
                    if(direction.indexOf("swipeleft")!=-1)fun();
                }else{
                    if(direction.indexOf("swiperight")!=-1)fun();
                }
            }else if(Math.abs(changeY)>Math.abs(changeX)&&Math.abs(changeX)>defaults.x){
                //上下事件
                if(changeY > 0) {
                    if(direction.indexOf("swipetop")!=-1)fun();
                }else{
                    if(direction.indexOf("swipedown")!=-1)fun();
                }
            }else{
                //点击事件
                if(direction.indexOf("singleTap")!=-1)fun();
            }
            if(direction.indexOf("touchend")!=-1)fun();
        }, false);
    }
Shawn0691302 2013-01-06
  • 打赏
  • 举报
回复
你做的是webAPP项目么?手指滑动切换效果,可以使用jqm里有个swipeleft和swiperight在手机屏幕上的滑动事件。 你说的拖动效果可以用JS写鼠标事件来实现拖动,具体不知道你是什么架构,你是做移动开发的?。
wttyzy 2013-01-05
  • 打赏
  • 举报
回复
怎么没有人会吗?请大仙们帮助小弟~~ 难道是我的帖子发错了地方?
wttyzy 2012-12-29
  • 打赏
  • 举报
回复
自己顶顶!!大仙儿们…… 求助啊

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧