如何延迟加载Boostrap模式,直到加载远程内容
How do I delay the loading of a Boostrap modal until the remote content is loaded?
我正在远程加载内容:
$('a[rel=modal]').on('click', function(evt) {
evt.preventDefault();
var modal = $('#modal').modal();
modal
.find('.modal-body')
.load($(this).attr('href'), function (responseText, textStatus) {
if ( textStatus === 'success' ||
textStatus === 'notmodified')
{
modal.show();
}
});
});
问题是,模态显示和1-2秒后的内容显示和扩展模态,所以它是一种"跳跃"。是否有一种方法可以延迟模态的加载,直到收到内容之后?
在您发出请求之前,$('#modal').modal();
正在显示您的模式。您应该在.load()
的回调函数中显示模态,该函数在请求完成后触发。以下是你如何在对代码做最小修改的情况下使它工作的方法:
$('a[rel=modal]').on('click', function(evt) {
evt.preventDefault();
var modal = $('#modal');
modal
.find('.modal-body')
.load($(this).attr('href'), function (responseText, textStatus) {
if ( textStatus === 'success' ||
textStatus === 'notmodified')
{
modal.modal("show");
}
});
});
注意我从jquery对象中删除了.modal()
调用,然后我使用modal.modal("show")
,这可能是你想做的(而不是.show()
)
相关文章:
- ajax加载了内容,脚本没有执行
- 加载所有内容时的加载函数
- 如何在rails应用程序中测试AJAX加载的内容
- 如何在Ajax加载新内容时停止JavaScript执行
- 使用Javascript(或jQuery)加载iframe内容
- jQuery+Android.将功能(Touchstart、touchmove)应用于实时加载的内容
- 如何在服务器中为我的Firefox OS应用程序加载远程内容-在Web和FxOS设备中
- 正在从字节数组加载图像内容
- Jquery函数无法处理动态加载的内容(不是绑定函数)
- 当用户到达页面右侧时加载新内容
- 清理在加载 Ajax 内容时添加的 CSS
- 使用 jQuery .load() 加载的内容不起作用
- 对 ajax 加载的内容进行爬网
- 我们是否有任何通用脚本/ jquery插件可以在通过ajax选项卡加载的内容上应用javascript
- 如何使用JavaScript通过URL加载页面内容
- 我想使用hashbang URL(blah.com/#!/thingtoload)动态加载页面内容(在DIV中),我有j
- Ajax加载带有内容的javascript和css
- 如何通过jQueryUI AJAX加载AngularJS内容
- WebGL Three.js在画布Div可见之前,不会加载某些内容
- 使用Boostrap懒惰加载隐藏内容