所以,我知道我也需要模拟它。对于我来说,当您有一个带有溢出框的灯箱时,您将需要它。这只是我可以想到的许多情况之一。正在寻找答案。只是想分享我现在所在的位置,虽然没有使用jQuery.Ui.Ipad,但我会搜索一下..但到目前为止,这就是我得到的东西,确实起作用但不完美。
var inTouch=false;
var timers_arr = new Array();
var c=0;
var t;
var timer_is_on=0;
function clearCount(timer){
clearTimeout(timers_arr[timer]);
timers_arr[''+timer+'']=0;
delete timers_arr[''+timer+''];
}
function setCount(timer,time,func){
clearCount(timer);
if(timers_arr[timer]==0||typeof(timers_arr[timer]) === 'undefined'){
timers_arr[timer]=setTimeout(function(){
func();
},time);
}
}
function updatePos(evt,startY){
setCount('touchmove',1,function(){
var orig = evt.originalEvent;
var curY = orig.changedTouches[0].pageY;
var y = curY - startY;
var sliderVal = $("#slider-vertical").slider("value");
sliderVal += (y*.008);
$("#slider-vertical").slider("value", sliderVal);
updatePos(evt,startY);
});
setCount('touchmove_anitMotion',200,function(){
clearCount('touchmove');
clearCount('touchmove_anitMotion');
});
}
var startX=0;
var startY=0;
var x=0;
var y=0;
var direction='';
$('body').bind("onorientationchange", updateOrientation, false);
$('#scroll-pane').live("touchstart", function(evt){
inTouch=true;
startX = event.targetTouches[0].pageX;
startY = event.targetTouches[0].pageY;
});
$('#scroll-pane').live("touchmove", function(evt){
evt.stopPropagation();
evt.preventDefault();
updatePos(evt,startY);
});
$('#scroll-pane').live("touchend", function(evt){
startX=0;
startY=0;
clearCount('touchmove');
inTouch=false;
});
$('#scroll-pane').live("touchcancel", function(evt){
startX=0;
startY=0;
clearCount('touchmove');
inTouch=false;
});
再次说明并非完美,正在修复中......但至少它已经可以使用。现在注意,这是一个div,它使用jQuery UI滑块作为滚动条(尽管在我的示例中是垂直的),如http://jqueryui.com/demos/slider/#side-scroll所示。
希望这能激发一些想法。如果我得到一个超级稳定的答案,我会回来的。
谢谢 -Jeremy