FlexSlider:如何使用JS或jQuery在页面加载时获得图像高度
FlexSlider: How to get image height on page load using JS or jQuery?
在我的网站上使用FlexSlider,我试图获得滑块中第一个图像的高度。我原以为下面的代码可以完成这项工作,但图像似乎加载得很晚,所以它们在这个jQuery事件上没有高度。代码将返回"0"。
$(window).load(function() {
$(document).ready(function() {
var height = $(".flexslider>div>ul>li.flex-active-slide>a>img").height();
console.log(height);
});
});
但是,如果在页面加载后在浏览器控制台中运行此代码,则会返回正确的高度。
如何使用jQuery或JavaScript在页面加载/准备好时获得图像高度?
感谢您澄清window.load事件发生在document.ready之后,尽管这与实际问题无关。
代码返回"0"的原因是由于默认flexslider.css中的css类:
.flexslider .slides > li {display: none; -webkit-backface-visibility: hidden;} /* Hide the slides before the JS is loaded. Avoids image jumping */
解决方案是使用回调API:,等待滑块正确加载
$(window).load(function() {
$(".flexslider").flexslider({
start: function() {
var height = $(".flexslider a>img").first().height();
console.log(height);
}
});
});
ready事件发生在HTML文档加载之后,而onload事件发生在所有内容(例如图像)也已加载之后。
onload事件是DOM中的标准事件,而ready事件是jQuery特有的。ready事件的目的是在加载文档后尽早发生,这样为页面中的元素添加功能性的代码就不必等待加载所有内容。
请参阅window.onload与$(document).ready()
$(document).ready(function() {
console.log($('.flexslider > ul > li > a > img').height());
});
参见DEMOhttp://jsfiddle.net/ducwidget/cufsn/1/
相关文章:
- 不加载宽度和高度的角度pintura
- 如何获取内部动态加载图像的元素的高度
- 多个页面 iframe,高度加载
- 加载新内容时调整iframe的高度
- 动态iframe高度-似乎需要重新加载页面
- 如何获取离子对话框中动态加载的元素的元素高度
- 使用 Jquery 加载页面时的高度宽度问题
- 根据滚动方向和高度加载和删除内容页面
- 如何在加载 html 后获取容器高度
- 如何防止在 Safari 中使用 javascript 设置高度后在页面加载时运行过渡
- 页面加载期间 IE 中没有图像的高度和宽度
- 在 Chrome 中加载外部 SVG 时获取外部 SVG 的正确客户端高度
- 如何调整从其他用户加载的图像的大小,以便保持尺寸,同时使用 css 设置最大宽度和高度?(HTML/JS/CSS)
- 如何从加载中保存图像宽度和高度
- 加载 HTML 网站时,安卓上的窗口高度错误
- 如何在页面加载后使一个部分 100vh 高度变成像素
- 使用 jQuery 通过查询浏览器的宽度和高度来加载选择性 CSS
- javascript加载的img仍然有0高度
- 当不同页面加载到iframe中时,如何通过javascript动态更改其高度
- 如何在我们知道 ajax 加载元素的真实高度(带有图像)后立即执行脚本