Html 水平滚动在iPhone ios 9中不工作
我在爱奥尼亚的angularjs移动应用程序中使用了一个带有收缩缩放选项的Html 水平滚动在iPhone ios 9中不工作,html,ios,iphone,horizontal-scrolling,Html,Ios,Iphone,Horizontal Scrolling,我在爱奥尼亚的angularjs移动应用程序中使用了一个带有收缩缩放选项的div。它在android设备上运行良好,但在iPhone(iOS 9)上,我无法移动div来查看隐藏的内容。我可以垂直移动div内容,但不能水平移动。我已经搜索了解决方案并实现了样式 -webkit-overflow-scrolling: touch; overflow-y: scroll; overflow-x: scroll; 但我还是有同样的问题。有什么解决办法吗?通过触摸事件让它工作 下面是示例代码 $(
div
。它在android设备上运行良好,但在iPhone(iOS 9)上,我无法移动div
来查看隐藏的内容。我可以垂直移动div
内容,但不能水平移动。我已经搜索了解决方案并实现了样式
-webkit-overflow-scrolling: touch;
overflow-y: scroll;
overflow-x: scroll;
但我还是有同样的问题。有什么解决办法吗?通过触摸事件让它工作 下面是示例代码
$( ".pinch" ).on( "touchstart", fingerDown)
.on('touchend', fingerUp)
.on('touchmove', fingerMove)
.on('touchend', fingerend);
var startX = 0;
var endX = 0;
var lastMargin = 0;
var leftMargin = 0;
function fingerend(e){
lastMargin = leftMargin;
leftMargin = 0;
}
function fingerMove(e){
var tempEndX = 0;
var tempLeftMargin = 0;
tempEndX = e.originalEvent.touches[0].pageX;
if(startX > tempEndX){
tempLeftMargin = -(startX - tempEndX);
}else{
tempLeftMargin = tempEndX - startX;
}
tempLeftMargin = tempLeftMargin + lastMargin;
var deltaVal = $("#my-div").children().width();
var minVal = -(deltaVal - 280);
var maxVal = 10;
if(tempLeftMargin > minVal && tempLeftMargin < maxVal){
$("#my-div").children().css({
"margin-left": tempLeftMargin
});
endX = tempEndX;
leftMargin = tempLeftMargin;
}
}
function fingerDown(e){
console.log("fingerdown "+e.originalEvent.touches.length);
var fingersDown = e.originalEvent.touches.length;
if (fingersDown > 1) {
toggleHammerScrolling(true);
}else{
startX = e.originalEvent.touches[0].pageX;
}
}
$(.pinch”)。打开(“触摸启动”,手指向下)
.on('touchend',fingerUp)
.on('touchmove',fingerMove)
.on('touchend',fingerend);
var startX=0;
var-endX=0;
var lastMargin=0;
var-leftMargin=0;
函数fingerend(e){
lastMargin=左边距;
leftMargin=0;
}
函数fingerMove(e){
var tempEndX=0;
var-tempLeftMargin=0;
tempEndX=e.originalEvent.touchs[0].pageX;
如果(startX>tempEndX){
tempLeftMargin=-(startX-tempEndX);
}否则{
tempLeftMargin=tempEndX-startX;
}
tempLeftMargin=tempLeftMargin+lastMargin;
var deltaVal=$(“#我的div”).children().width();
var minVal=-(deltaVal-280);
var-maxVal=10;
if(tempLeftMargin>minVal&&tempLeftMargin1){
切换滚动(真);
}否则{
startX=e.originalEvent.touchs[0].pageX;
}
}