【发布时间】:2013-12-28 20:07:12
【问题描述】:
我正在使用 ajax 调用在给定的div 标记内加载页面的一部分。
代码如下:
$("#Gallery").click(function() {
var myUrl = $(this).attr("href");
$("#Content").load(myUrl);
return false;
});
加载的页面,在本例中为“Gallery.html”,有一个 Jquery 插件,我用它来创建照片库。调用方法的代码如下:
<script class="secret-source">
jQuery(document).ready(function($) {
$('#banner-fade').bjqs({
height : 320,
width : 620,
responsive : true
});
});
</script>
组成画廊的图像是:
<ul class="bjqs">
<li><img src="Images/Image1.jpg" title="Caption"></li>
<li><img src="Images/Image2.jpg" title="Caption"></li>
<li><img src="Images/Image3.jpg" title="Caption"></li>
</ul>
我面临的问题是,当我通过 ajax 调用导航到 Gallery.html 页面时,除了图像之外,整个页面都会加载。那里甚至没有图像图标。如果我再次导航到该页面,图像就会出现。
谁能告诉我为什么会发生这种情况以及如何纠正它?
【问题讨论】:
-
此解决方案可能会有所帮助:stackoverflow.com/a/5402812/1085891
-
加载图库时可能(并且很有可能)没有触发 ready() 事件。但是,当重新进入页面时,gallery.html 的缓存版本会被加载,从而及时响应 ready() 事件。
-
你能告诉我们你是如何在你的页面中包含不同的脚本的吗? (作为一个快速的想法:如果您在 Gallery.html 文件中包含 css,请尝试将其包含在主 html 文件中)
-
我将所有的 css 都移到了主 html 文件中,它现在可以工作了。我尝试将代码更改为不包括以下一个答案中建议的 ready event() ,但这并没有解决问题。我不确定移动 css 有什么帮助,所以如果有人能告诉我,我会很高兴..
标签: javascript jquery html css ajax