【发布时间】:2023-11-27 23:44:01
【问题描述】:
这个问题是在this SO question详细讨论后提出的
问题:
我需要一个水平滚动条,可以在桌面上使用鼠标拖动和在启用触摸的屏幕上滑动事件进行滚动
可能的解决方案:
我尝试使用 jQuery dragscrollable,它在台式机上运行良好,但在支持触控的设备上运行良好
然后我继续探索Touch Swipe Jquery Plugin 并在JSFiddle Code 提出了一个可能的解决方案,而JSFiddle 的结果可以在here 找到
您还可以在 here 找到一个工作演示
我的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 上的响应速度不是很好。
有人可以帮我想出一个更好的解决方案吗?我正在使用 twitter 引导程序
编辑:1
现在我想我可能已经找到了一个不错的插件,它似乎在桌面和支持触控的设备上运行良好,该插件名为 jquery.dragscroll,我有一个更新的演示 here
编辑:2
似乎还有另一个插件支持触控设备,它被称为Overscroll。我还没评价呢
【问题讨论】:
-
在 Windows Phone 7 上也不工作
-
@Sherbrow 现在如果它主要适用于 iOS 设备和 Android 设备,我将非常高兴!查看我更新的解决方案,让我知道你的想法!
-
接受的这个问题的答案指向一个死链接。
标签: javascript twitter-bootstrap touch horizontal-scrolling swipe-gesture