Javascript 允许在溢出隐藏的情况下进行触摸滚动
我正在构建一个响应迅速的web应用程序,我已经将overflow:hidden应用于一个div,因为我正在使用桌面视图中的其他div处理滚动。现在我需要在设备中启用触摸滚动,因为另一个div对于小屏幕是不可见的 我不想在设备中显示滚动条,因为我有相互依赖的div。一个div滚动影响其他div滚动,反之亦然Javascript 允许在溢出隐藏的情况下进行触摸滚动,javascript,android,jquery,html,css,Javascript,Android,Jquery,Html,Css,我正在构建一个响应迅速的web应用程序,我已经将overflow:hidden应用于一个div,因为我正在使用桌面视图中的其他div处理滚动。现在我需要在设备中启用触摸滚动,因为另一个div对于小屏幕是不可见的 我不想在设备中显示滚动条,因为我有相互依赖的div。一个div滚动影响其他div滚动,反之亦然 $('.outer')。打开('scroll',函数(e){ $('.outer').scrollLeft(e.currentTarget.scrollLeft); }); .outer{
$('.outer')。打开('scroll',函数(e){
$('.outer').scrollLeft(e.currentTarget.scrollLeft);
});代码>
.outer{
宽度:200px;
}
.内部{
宽度:400px;
显示:块;
身高:50%;
背景:#ccc;
}
.内容{
背景:蓝色;
高度:100px;
边缘底部:10px;
溢出:隐藏;
}
.滚动窗格{
高度:20px;
溢出:自动;
}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
我通过触摸事件找到了解决方案
$('.outer')。打开('scroll',函数(e){
$('.outer').scrollLeft(e.currentTarget.scrollLeft);
});
$('outer')。on('touchstart',HandletTouchStart,false);
$('outer')。on('touchmove',handleTouchMove,false);
$('outer')。on('touchend',handleTouchEnd,false);
var xDown=null;
var yDown=null;
var oldScrollPos=null;
函数handleTouchStart(evt){
xDown=evt.touchs[0].clientX;
yDown=evt.touchs[0].clientY;
oldScrollPos=$('.outer').scrollLeft();
};
功能手柄移动(evt){
console.log('touch move')
如果(!xDown | |!yDown){
返回;
}
var xUp=evt.touch[0].clientX;
var yUp=evt.touch[0].clientY;
var xDiff=xDown-xUp;
var yDiff=yDown-yUp;
if(Math.abs(xDiff)>Math.abs(yDiff)){/*最显著*/
console.log(“水平移动”);
var newscorlleft=oldScrollPos+xDiff;
$('.outer').scrollLeft(newScrollLeft);
如果(xDiff>0){
/*左击*/
}否则{
/*右击*/
}
}否则{
如果(yDiff>0){
/*向上滑动*/
}否则{
/*下击*/
}
}
};
函数handleTouchEnd(){
/*重置值*/
xDown=null;
yDown=null;
oldScrollPos=null;
}
.outer{
宽度:200px;
}
.内部{
宽度:400px;
显示:块;
身高:50%;
背景:#ccc;
}
.内容{
背景:蓝色;
高度:100px;
边缘底部:10px;
溢出:隐藏;
}
.滚动窗格{
高度:20px;
溢出:自动;
}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
我通过触摸事件找到了解决方案
$('.outer')。打开('scroll',函数(e){
$('.outer').scrollLeft(e.currentTarget.scrollLeft);
});
$('outer')。on('touchstart',HandletTouchStart,false);
$('outer')。on('touchmove',handleTouchMove,false);
$('outer')。on('touchend',handleTouchEnd,false);
var xDown=null;
var yDown=null;
var oldScrollPos=null;
函数handleTouchStart(evt){
xDown=evt.touchs[0].clientX;
yDown=evt.touchs[0].clientY;
oldScrollPos=$('.outer').scrollLeft();
};
功能手柄移动(evt){
console.log('touch move')
如果(!xDown | |!yDown){
返回;
}
var xUp=evt.touch[0].clientX;
var yUp=evt.touch[0].clientY;
var xDiff=xDown-xUp;
var yDiff=yDown-yUp;
if(Math.abs(xDiff)>Math.abs(yDiff)){/*最显著*/
console.log(“水平移动”);
var newscorlleft=oldScrollPos+xDiff;
$('.outer').scrollLeft(newScrollLeft);
如果(xDiff>0){
/*左击*/
}否则{
/*右击*/
}
}否则{
如果(yDiff>0){
/*向上滑动*/
}否则{
/*下击*/
}
}
};
函数handleTouchEnd(){
/*重置值*/
xDown=null;
yDown=null;
oldScrollPos=null;
}
.outer{
宽度:200px;
}
.内部{
宽度:400px;
显示:块;
身高:50%;
背景:#ccc;
}
.内容{
背景:蓝色;
高度:100px;
边缘底部:10px;
溢出:隐藏;
}
.滚动窗格{
高度:20px;
溢出:自动;
}
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB