Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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
Javascript 如何让jQuery在iPad中滚动html页面时运行(而不是在滚动停止后)_Javascript_Jquery_Ios_Ipad - Fatal编程技术网

Javascript 如何让jQuery在iPad中滚动html页面时运行(而不是在滚动停止后)

Javascript 如何让jQuery在iPad中滚动html页面时运行(而不是在滚动停止后),javascript,jquery,ios,ipad,Javascript,Jquery,Ios,Ipad,我正在尝试让jsbin在平板电脑设备上正常工作 当您向下滚动页面时,背景颜色会发生变化-在PC上,您可以使用鼠标滚动或右侧栏。但在平板电脑上,你有一种触摸滑动的效果。在此期间,脚本不会在上面的jsbin中运行。有办法解决这个问题吗 也就是说,在页面在平板电脑(如iPad)上滚动时,是否可以运行jQuery 编辑:我试图使用元素。addEventListener('gesturechange',function(){})来自,但我真的没有进展 JS看起来是这样的: var colors = [

我正在尝试让jsbin在平板电脑设备上正常工作

当您向下滚动页面时,背景颜色会发生变化-在PC上,您可以使用鼠标滚动或右侧栏。但在平板电脑上,你有一种触摸滑动的效果。在此期间,脚本不会在上面的jsbin中运行。有办法解决这个问题吗

也就是说,在页面在平板电脑(如iPad)上滚动时,是否可以运行jQuery

编辑:我试图使用
元素。addEventListener('gesturechange',function(){})来自,但我真的没有进展

JS看起来是这样的:

var colors = [
    [52, 152, 219], // blie
    [155, 89, 182], // purple
    [231, 76, 60], // red
    [230, 126, 34], // orange
    [241, 196, 15], // yellow
    [46, 204, 113] // green
    ];

var height = $(document).height();

$(document).scroll(function () {
    var steps = Math.floor(height / colors.length);
    var position = $(this).scrollTop();
    var currentStep = Math.floor(position / steps);
    if (currentStep === colors.length) currentStep = colors.length - 1;
    var rgb = $("body").css('background-color').replace('rgb(', '').replace(')', '').replace(/\s/g, '').split(',');
    var previousColor = colors[currentStep] || colors[0];
    var nextColor = colors[currentStep + 1] || colors[colors.length - 1];
    var percentFromThisStep = (position - (currentStep * steps)) / steps;
    if (percentFromThisStep > 1) percentFromThisStep = 1;

    var newRgb = [
    Math.floor(previousColor[0] + ((nextColor[0] - previousColor[0]) * percentFromThisStep)),
    Math.floor(previousColor[1] + ((nextColor[1] - previousColor[1]) * percentFromThisStep)),
    Math.floor(previousColor[2] + ((nextColor[2] - previousColor[2]) * percentFromThisStep))];

    $("body").css('background-color', 'rgb(' + newRgb.join(',') + ')');
});

可能必须使用setInterval并检查scrolltopcarter,就那篇文章而言,jquery不可能在滚动减速期间检测到
scrolltop
位置,对吗?(即在电影之后)