在详细讨论了这个 SO question之后提出了这个问题
问题:
我需要一个水平滚动条,可以使用桌面上的鼠标拖动和触摸屏上的滑动事件进行滚动
可能的解决方案:
我尝试使用 jQuery dragscrollable,它在桌面上运行良好,但在支持触摸的设备上运行良好
因此,我继续探索Touch Swipe Jquery Plugin并在JSFiddle Code上提出了一个可能的解决方案,JSFiddle的结果可以在这里找到
您还可以在此处找到工作演示
我的java脚本代码如下
//to detect if device has touch enabled
var is_touch_device = 'ontouchstart' in document.documentElement;
$(function()
{
$('.myClass').dragscrollable();
//if touch is enabled then we have to map the swipe event
if(is_touch_device)
$('.panel_list').swipe( { swipeStatus:scroll_panel_list, allowPageScroll:'horizontal' } );
function scroll_panel_list(event, phase, direction, distance)
{
var pos = $('.myClass').scrollLeft();
if(direction == 'left')
{
$('.myClass').animate({scrollLeft: pos + 200} );
}
if(direction == 'right')
{
$('.myClass').animate({scrollLeft: pos - 200} );
}
}
});
我已经测试过它在 Android 浏览器上运行良好,但在 iPhone 上不是很响应。
有人可以帮我想出一个更好的解决方案吗?我正在使用推特引导程序
编辑:1
好吧,现在我想我可能已经找到了一个不错的插件,它似乎在台式机和支持触摸的设备上运行良好,该插件名为jquery.dragscroll,我在这里有一个更新的演示
编辑:2
似乎有另一个插件支持触控设备,它被称为Overscroll。我还没有评价它