Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
在IE8和blackberry playbook中,javascript setInterval函数工作不正常_Javascript_Jquery_Setinterval_Blackberry Playbook_Iscroll4 - Fatal编程技术网

在IE8和blackberry playbook中,javascript setInterval函数工作不正常

在IE8和blackberry playbook中,javascript setInterval函数工作不正常,javascript,jquery,setinterval,blackberry-playbook,iscroll4,Javascript,Jquery,Setinterval,Blackberry Playbook,Iscroll4,我已经定义了一个点击,除了两个点击,其他所有点击都可以正常工作。我将按如下方式绑定click事件: $('#next_item').bind(myDown,function (e) { config.scrolling = true; config.scrollTimer = setInterval(function (e) { if(!config.scrolling) return false; if(myScroll.x >= mySc

我已经定义了一个点击,除了两个点击,其他所有点击都可以正常工作。我将按如下方式绑定click事件:

$('#next_item').bind(myDown,function (e) {
    config.scrolling = true;
    config.scrollTimer = setInterval(function (e) {
        if(!config.scrolling) return false;
        if(myScroll.x >= myScroll.maxScrollX){              
            myScroll.scrollTo((config.itemWidth+config.itemBoxSpacing), 0, 400, true);
        }else{
            config.scrolling=false;
            clearInterval(config.scrollTimer);
        }
    }, 100);
    return false;
});
我正在使用。
#next_项
用于滚动动态添加的div onclick<之所以使用code>setInterval function(),是因为单击一次我想滚动一个div,而单击鼠标向下我想滚动div直到我执行mouseup。现在的问题是在黑莓playbook中一次点击多个div滚动条,但在ipad、android平板电脑和包括IE8在内的桌面浏览器中效果良好。另外,当我在blacberry playbook中执行mousedown时,div会一直滚动到最后,并且不会在mouseup时立即停止,对于IE8,div会停止,并且滚动似乎setInterval无法正常工作。在IE8和blackberry playbook中,需要做哪些更改才能实现这一点

更新:

var isIOS = config.isIpad || config.isIphone || config.isAndroid;
var myDown = isIOS ? "touchstart" : "mousedown";
var myUp = isIOS ? "touchend" : "mouseup";

$('#next_item').bind(myUp,function (e) {
    config.scrolling = false;
    clearInterval(config.scrollTimer);
    return false;
});

我已经解决了黑莓问题。我只需要修改一行代码

var isIOS = 'ontouchstart' in document.documentElement; /*This detects all touch devices*/
在我之前的代码中,我没有检测到blackberry playbook,因此它接收到mousedown事件,这导致触摸设备的默认
touchstart
事件与
mousedown
事件一起触发,从而产生意外结果


我仍然无法解决IE8问题。请任何人建议为IE8做些什么。

$(“#下一项”).bind(myDown,myDown来自哪里?@AndréAlçadaPadez我已经更新了代码