最近用js,jquery在开发一个类webqq的网页,用手机登录web.qq.com可以看到5个桌面间,用手指划过进行切换的效果,自己做了一下,但实验没成功,无法实现!
跪求各位高手们给予指点,非常谢谢!
我想实现的效果:
1. 手指划过,实现桌面的切换。
2. 打开的窗口,实现窗口拖动。
大家可以上webqq去看看,用手机也可以去看看。。 跪等!!!
手机?js?android?webqq
------解决方案--------------------
你做的是webAPP项目么?手指滑动切换效果,可以使用jqm里有个swipeleft和swiperight在手机屏幕上的滑动事件。
你说的拖动效果可以用JS写鼠标事件来实现拖动,具体不知道你是什么架构,你是做移动开发的?。
------解决方案--------------------
核心是你要懂得手机屏幕划动事件:手机触摸切换广告图片
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();