私は、2つを除いてすべてで動作するように定義されたクリックを持っています。私はiScroll 4を使用していますIE8とブラックベリーのプレイブックでjavascript setInterval関数が正しく動作しない
$('#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_item
は、動的に追加されたdiv onclickをスクロールするために使用されます。 setInterval function()
が使用されています。シングルクリックでは、一度に1つのdivをスクロールしたいのですが、mousedownではmouseupを行うまでdivをスクロールしたいからです。今問題は、ブラックベリーのプレイブックでは一度に1つのdivをスクロールして1回クリックするだけですが、ipad、Androidのタブレット、IE8などのデスクトップブラウザでうまくいきます。また、blacberryのプレイブックでmousedownを実行すると、divは最後までスクロールし続け、mouseupで直ちに停止せず、IE8ではdivが停止し、setIntervalが正常に動作していないように見えます。どのような変更は、この両方のIE8での仕事とブラックベリーの脚本を作るために行われる必要がある
アップデート:私はブラックベリーの問題を解決した
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;
});
$( '#next_item')。bind(myDown、myDownはどこから来たのですか?) –
@AndréAlçadaPadezコードを更新しました。 – user850234