javascript - 鼠标移动和触摸移动

标签 javascript jquery

我很喜欢this visual effect .我想通过 touchmove 在 iphone 或 ipad 中使用它。谁能帮我解决这个问题?

这是 JS:

$(document).bind('mousemove',function(e){
    var docW = $(window).width();
    var docH = $(window).height();

    var diffX = (docW/2) - e.clientX;
    var diffY = (docH/2)-100 - e.clientY;

    var dist = distance(docW/2,docH/2, e.clientX, e.clientY);
    var distM = distance(docW/2,(docH/2)+60, e.clientX, e.clientY);

        // eye                          
        var eye_background = Math.floor( diffX /-30 ) +'px '+ Math.floor( diffY /-30 ) +'px';       
        var eye_translate = Math.floor(diffX/-50 )+'px, '+ Math.floor(diffY/-100 )+'px';    
        $(".eye").css({"background-position":eye_background, "-webkit-transform":'translate3d('+eye_translate+',0)',"-moz-transform":'translate('+eye_translate+')',"-o-transform":'translate('+eye_translate+')',"-ms-transform":'translate('+eye_translate+')' });



});

基本上,我的问题是我怎样才能让这个在苹果上工作?

最佳答案

您应该在 mousedown 时启动监听器并在 mouseup 时停止它。 同时,监听器将循环(例如 requestanimationfame 或 setInterval() ) 您的 //eye 方法。

例如,这是 webGL 中的常见过程。 example

http://api.jquery.com/mousedown/

http://api.jquery.com/mouseup/

关于javascript - 鼠标移动和触摸移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559858/

相关文章:

javascript - 什么是字数组?

javascript - Knockout 完全是事件驱动的吗?

带有 Pyramid 对象参数的 jQuery.load() 导致 "No JSON object could be decoded"

jquery - 在页面加载中如何打开新的弹出窗口

javascript - 创建正确的 json 字符串以存储在本地存储中

javascript - 更新合约状态变量后交易失败

javascript - 为什么不能映射 'undefined' 数组

javascript - 使用 jquery ajax 加载外部 javascript 文件的最佳方法?

javascript - 在一个对象的属性函数中传递多个参数,避免多次调用

javascript - 如何动态添加 div 到 div 内,直到父 div 的宽度和高度已满/完成