使用 css 和 jquery 调整图像大小后获取图像高度?
我有点卡住了。我正在使用 jquery 和 css 创建旋转背景图像。我根据浏览器大小调整图像宽度,但我不想更改高度,因为它会扭曲图片。所以我想做一个简单的数学方程,使图像在屏幕上垂直居中。例如:图像的原始大小为 1600px,调整大小为 1200px,我需要获取调整大小后的图像的高度。我已经用 jquery 简单尝试过: $("#img1").height();但它返回值 0。这是我的 jquery、html 和 css:
HTML
<div id="div2"><img src="images/1.jpg" class="bg" id="img1" /></div>
<div id="div3"><img src="images/1-blur.jpg" class="bg"/></div>
<div id="content">Body Content goes here!!</div>
<script>
var iheight = $("#img1").height();
$("#content").append(iheight);
</script>
CSS 身体{ 填充:0; 保证金:0; 位置:相对; 溢出:隐藏; } .bg{ 宽度:100%; 位置:绝对; 顶部:0; 左:0; z 索引:1; } #内容{ 位置:相对; z 索引:999; Jquery
旋转图像:
$(window).load(function(){
function startfade(){
$("#div3").fadeIn(3000, function(){
$(this).delay(2000).fadeOut(2000);
$("#div2").fadeIn(3000, function(){
$(this).delay(2000).fadeOut(2000);
});
});
}
setInterval(function() {
startfade();
}, 6000);
startfade();
});
任何有关如何获取图像实际高度的帮助都很棒!太感谢了!
I am a bit stuck. I am creating a rotating background image with jquery and css. I resize the image width according to the browser size, but I do not want to change the height because it distorts the picture. So I want to do a simple math equation to make the image vertically centered on the screen. For example: The image has an original size of 1600px and it resizes to 1200px, I need to get the height of the resized image. I have tried this with jquery simple: $("#img1").height(); but it returns the value 0. Here is my jquery, html and css:
HTML
<div id="div2"><img src="images/1.jpg" class="bg" id="img1" /></div>
<div id="div3"><img src="images/1-blur.jpg" class="bg"/></div>
<div id="content">Body Content goes here!!</div>
<script>
var iheight = $("#img1").height();
$("#content").append(iheight);
</script>
CSS
body{
padding: 0;
margin: 0;
position: relative;
overflow: hidden;
}
.bg {
width: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
#content{
position: relative;
z-index: 999;
}
And Jquery to rotate images:
$(window).load(function(){
function startfade(){
$("#div3").fadeIn(3000, function(){
$(this).delay(2000).fadeOut(2000);
$("#div2").fadeIn(3000, function(){
$(this).delay(2000).fadeOut(2000);
});
});
}
setInterval(function() {
startfade();
}, 6000);
startfade();
});
Any help on how to get the actual height of the image would be awesome! Thank you so much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试在加载图像时调用 height(并且您应该始终将代码括在
$(function() {});
中,以便在 DOM 准备就绪时调用您的代码)Try to call height when image is loaded (and you should always enclose your code in
$(function() {});
so your code is invoked when DOM is ready)这是我在 stackflow 上找到的类似线程的答案。希望它有帮助!
This is the answer of a similar thread I found on stackflow.. hope it helps !
我使用这个公式,得到原始图像的高/宽比
I use this formula, getting the ratio height/width of the original image