【发布时间】:2013-10-15 19:07:37
【问题描述】:
我正在尝试在没有 Ajax 的情况下在不同页面之间制作加载指示器。我有一个包含 gif 的 .spin-wrapper 类的 div。所以我需要在加载页面时隐藏它,并在我单击链接时显示它。加载新页面时,它应该再次隐藏(等等)。
但是当我重新加载页面时它只工作一次。它加载并隐藏我的 div,然后在我单击链接后显示它(出现控制台消息)。但它不起作用。我在任何其他页面上都看到了我的 div,但我的控制台消息也没有出现。
Application.js:
function toggleSpin() {
$('.spin-wrapper').toggle()
console.log('clicked');
}
$(document).ready(function () {
$('.tooltip_cell').tooltip({container: 'body'})
$('.spin-wrapper').hide()
$('a').on('click',toggleSpin);
console.log('loaded');
});
如何解决?
【问题讨论】:
-
但是...您没有使用 ajax。一旦您单击该链接,当前页面就会被卸载并开始加载新页面。你不能真正在上一页上做一个加载栏,因为它会在上一页卸载时被破坏(这将立即接近),这一切都必须在目标页面上处理。
-
@KevinB,你有什么办法处理它吗?
-
不,因为你不能。如果要加载吧,最好使用ajax。如果没有 ajax,就不需要加载条,因为当您可以显示一个时,页面可能已经加载完毕。 (当然,除非它是一个图形繁重的页面,但那是完全不同的情况。)
-
@KevinB 我可以在新页面以某种方式加载之前显示指示器吗?现在缓存更新需要4-5秒,所以我想让用户知道一切都很好。
-
4-5 秒在请求的哪一边?在新页面开始加载之前,或在新页面完成加载之前。
标签: jquery ruby-on-rails ruby-on-rails-4 loading