加载图像缓慢,导致jQuery高度变量出现问题
Slow loading image causing problems with jQuery height variable
Folks,
我是一个UX/IA的家伙,在前端开发方面的背景正在迅速消失。我正在发布我的公文包的新版本,并且遇到了jQuery的动态高度问题。
我有一个流畅的布局与英雄形象。因此,该图像的高度会发生变化。我有两个兄弟div,我使用jQuery来动态设置的高度。
然而,英雄图像相当大,如果在慢速互联网连接上,布局会显得太高,因为jquery.functions.js文件在英雄图像加载完成之前加载,导致jquery将div的高度设置为图像的完整高度,而不是其显示的高度。
我该怎么绕过这个?
要让jquery只在英雄图像加载后加载?有没有一个函数可以在加载图像后运行jquery?
HTML:
<section id="hero">
<div id="border-top">
<div class="corner tl"></div>
<div class="corner tr"></div>
<div class="center"></div>
</div>
<div class="border"><div class="content">
<h3>Updating and Improving Checkout</h3>
<h1>Tarot.com eCommerce Update</h1>
</div></div><!-- /border /content -->
<div id="border-bottom-casestudy">
<div class="corner bl"></div>
<div class="corner br"></div>
<div id="hero-asset">
<img src="img/img-work-tarotecom-hero.png" />
</div>
<div class="clearing"></div>
</div>
</section>
ThejQuery:
$(document).ready(function() {
var image_height = $('#hero-asset').height();
$('#border-bottom-casestudy .corner').height(image_height);
});
$(window).resize(function () {
var image_height = $('#hero-asset').height();
$('#border-bottom-casestudy .corner').height(image_height);
});
有问题的在制品页面:
http://test.willphillips.org/project.html
与其在$(document).ready(function () { ... });
块中运行前两行代码,不如尝试将它们移动到文档就绪块中图像附带的load
事件处理程序中。这样,在图像被成功获取并加载到DOM中之后,计算就完成了。
尝试以下操作:
$(document).ready(function () {
$('#hero-asset img').load(function () {
$('#border-bottom-casestudy .corner').height($(this).height());
});
});
参考链接:.load()
尝试使用"渐进式"JPEG。它应该更快(几乎立即(获得正确的大小,链接中的视频显示了与其他格式相比它的有效性。
(互联网上几乎所有的大图像也是如此(
http://blog.patrickmeenan.com/2013/06/progressive-jpegs-ftw.html
相关文章:
- 简单的变量问题
- 局部全局变量问题 - JavaScript
- 递归承诺调用 - 内存范围变量问题
- 开关变量问题
- 简单的 Jquery 变量问题
- Javascript全局变量问题
- Javascript-通过引用传递变量问题
- AJAX请求在jQuery中获取函数,变量问题
- JSON JavaScript 未定义的变量问题
- PHP 和 JavaScript 组合变量问题
- JQuery Ajax 填补了 JavaScript 变量问题
- jQuery.ParseJSON 变量问题
- Ajax变量问题
- socket.io-使用命名空间时出现套接字变量问题
- AngularJS与SignalR$范围变量问题
- 使用事件处理程序(基本Javascript)时出现全局变量问题
- JavaScript 声明变量问题
- JavaScript变量问题的澄清
- jQuery变量问题
- JS -访问全局变量问题