Javascript 在PhoneGap中显示slideDown之前触发slideDown回调

Javascript 在PhoneGap中显示slideDown之前触发slideDown回调,javascript,jquery,cordova,prompt,Javascript,Jquery,Cordova,Prompt,我正在为Android手机构建一个PhoneGap应用程序。我使用这样的机制让用户向web服务提交数据: $('#backdrop').slideDown('fast',function(){ var data = prompt('Please enter your data'); if (data){ //process data } else { //go on } }); 然而,在我的手机上测试时,有时会在$(“#background”)元素实际可见之前显示

我正在为Android手机构建一个PhoneGap应用程序。我使用这样的机制让用户向web服务提交数据:

$('#backdrop').slideDown('fast',function(){
  var data = prompt('Please enter your data');
  if (data){
    //process data
  } else {
   //go on
  }
});
然而,在我的手机上测试时,有时会在
$(“#background”)
元素实际可见之前显示提示(我猜大约80%的情况下),并等待元素显示,直到提示消失(由于其阻塞性)

我有一种感觉,这可能是因为我的手机太旧太慢(HTC Wildfire S,600MHz),但我可能不是唯一一个有着又旧又慢的手机的人,所以如果有办法解决这个问题,那就太好了

我真的可以用jQuery方法解决这个问题吗?或者这意味着我不能使用标准提示符,必须自己构建一些东西(使用
prompt
s是否是个好主意)?或者这是完全不同的东西,我现在不知道


jQuery版本是1.7.1,Phonegap/Cordova版本是1.9.0

您的代码看起来不错。确认应该等到幻灯片动画完成后才显示

但我想发生的事情是动画渲染非常糟糕,
slideUp
功能已经完成,但用户还看不到。然后出现
confirm
并停止执行

众所周知,Javascript动画在移动设备上非常糟糕,因此不鼓励使用。尤其是在较旧的设备中,它们是无法忍受的。您可以尝试改用CSS3动画。有一个名为的jQuery插件,它的语法与jQuery的
animate
函数相同,但使用CSS3制作动画


另一个建议:如果您使用的是Phonegap,您可能更喜欢
navigator.notification.confirm
,而不是老式的普通
confirm
,因为它使用设备的本机确认对话框(更好的用户体验)并且是非阻塞的。

我认为这正是发生的情况。我会去看看这个插件,乍一看很完美。我想我必须使用提示,因为确认不会让用户获取数据。谢谢,对不起,你说得对。Phonegap目前没有本机提示功能。我误解了你的问题。