0

我正在尝试使用此功能解决移动和桌面问题。有没有办法让这个脚本用于悬停并or为 Modernizr 添加一个运算符以查看它是否检测到触摸功能,如果没有,使用悬停?希望有人可以帮助我澄清这一点。

$(function() {
        $('ul.recent-widget li').hover(function(){
            $(this).find('img').animate({top:'182px'},{duration:500});
        }, function(){
            $(this).find('img').animate({top:'0px'},{duration:500});
        });
    });

这是一个在桌面上工作的例子http://jsfiddle.net/chris_s/dcq2F

4

1 回答 1

1

使用 Modernizr,您当然可以设置一个条件,正如您在上面的评论中推断的那样,它只会运行一个或另一个函数:

if ( Modernizr.touch ) {
   // click or bind to touchstart, touchmove, etc
} else {
   // hover (like your animation example)
}

关于性能,您还可以考虑使用默认的 css 过渡或动画,然后!Modernizr.csstransitions在该悬停功能上使用 。

当然,由于移动设备是如此移动的目标,因此任何一种解决方案都有 一些 警告。也许对几个标准(屏幕尺寸、特征检测、polyfills 等)进行组合测试,然后选择最适合您的情况。

于 2012-11-08T09:54:09.210 回答