Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 水平滚动在iPhone ios 9中不工作_Html_Ios_Iphone_Horizontal Scrolling - Fatal编程技术网

Html 水平滚动在iPhone ios 9中不工作

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; 但我还是有同样的问题。有什么解决办法吗?通过触摸事件让它工作 下面是示例代码 $(

我在爱奥尼亚的angularjs移动应用程序中使用了一个带有收缩缩放选项的
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;
}
}