我正在开发一个网站,该网站具有通过单击导航栏中的链接动态加载的内容部门。链接绑定到jQuery.load(<some HTML page>)
.
我加载到此内容窗口的页面之一出现问题。这是一个用户可以滚动浏览的照片库(称之为photos.html
),它将动态加载更多照片。它的工作方式是这样的:
<div id="scrolling_window">
<div id="container">
<ul id="list">
<!-- Content loaded dynamically. -->
</ul>
<div id="loader">
Page Loaded.
</div>
</div>
</div>
是scrolling_window
固定高度(在 css 中定义)并且container
保存图像并动态增长以包含图片。
在 javascript 中,我有一个函数可以计算滚动窗口底部何时靠近容器底部。如果它接近尾声,它会加载更多图像。等等...
现在,如果我自己查看这个动态加载的画廊的页面(即手动输入页面的 URL),一切正常。但是,当我以预期的方式查看它时(通过单击链接并通过调用 jQuery.load 将其加载到现有页面中),它就无法正常工作。
问题似乎是 javascript 中的数学是基于 CSS 中定义的 HTML 容器的大小。我可以通过一些测试和移动我的 CSS 代码引用来确认这一点,结果如下:
- 在浏览器中显式加载
photos.html
时,它仅在 CSS 文件在 javascript 文件之前加载时才有效。 - 通过使用 jQuery.load 加载内容来查看页面时,如果
scrolling_window
样式如下<div id="scrolling_window" style="height:150px">
- 当通过使用 jQuery.load 加载内容来查看页面时,如果 CSS 文件加载到主页上,它就可以工作
index.html
。
换句话说,似乎必须在执行 javascript 之前加载 CSS 文件......
所以,我的问题是......当将 HTML 页面加载到现有<div>
元素中时,是否有可能以某种方式确保在执行 javascript 之前加载加载页面上引用的 CSS?