关于layer的ajax弹窗疑问

官方的例子是在ajax的回调中执行layer,但这就带来个问题,如果ajax返回比较慢,就会让人感觉点了按钮没反应。

以前用的是colorbox,它对ajax模式做了一种比较好的处理,点击后会立即弹出窗口,然后在窗口里显示loading图标,等请求返回时再插进真正的值。

虽然layer自带loading模式,但先弹出这种铺满整个页面的loading再切换成窗口,感觉让人很变扭,所以有没有办法在弹窗里显示loading,或者其它比较好的解决办法。

先谢过大家了。

阅读 3.5k
2 个回答

点击后修改按钮的文案为“正在提交”之类的,同时去掉点击时间的处理程序。
请求返回以后,再恢复按钮的状态。

layer.open({type: 2})
iframe模式会在窗口里显示loading图标,如果你是ajax返回json或者html的话,
你可以在弹出窗口时给它加个loading图标,然后在ajax成功返回数据后在修改弹窗
另外你说的那个情况,个人觉得并不变扭,因为我就是这样用过,
可能是我成功会用alert模式,失败会用msg模式吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题