使用 css 和 jquery 调整图像大小后获取图像高度?

发布于 2025-01-08 00:10:09 字数 1182 浏览 0 评论 0原文

我有点卡住了。我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

給妳壹絲溫柔 2025-01-15 00:10:09

尝试在加载图像时调用 height(并且您应该始终将代码括在 $(function() {}); 中,以便在 DOM 准备就绪时调用您的代码)

$(function() {
   $('#img1').load(function() {
       $("#content").append($(this).height());
   });
});

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)

$(function() {
   $('#img1').load(function() {
       $("#content").append($(this).height());
   });
});
画骨成沙 2025-01-15 00:10:09

这是我在 stackflow 上找到的类似线程的答案。希望它有帮助!

var img = $("img")[0]; // Get my img elem
var pic_real_width, pic_real_height;
$("<img/>") // Make in memory copy of image to avoid css issues
    .attr("src", $(img).attr("src"))
    .load(function() {
        pic_real_width = this.width;   // Note: $(this).width() will not
        pic_real_height = this.height; // work for in memory images.
    });

This is the answer of a similar thread I found on stackflow.. hope it helps !

var img = $("img")[0]; // Get my img elem
var pic_real_width, pic_real_height;
$("<img/>") // Make in memory copy of image to avoid css issues
    .attr("src", $(img).attr("src"))
    .load(function() {
        pic_real_width = this.width;   // Note: $(this).width() will not
        pic_real_height = this.height; // work for in memory images.
    });
弄潮 2025-01-15 00:10:09

我使用这个公式,得到原始图像的高/宽比

var ratio=originalImageHeight/originalImageWidth;
var newHeight=newWidth * ratio;

I use this formula, getting the ratio height/width of the original image

var ratio=originalImageHeight/originalImageWidth;
var newHeight=newWidth * ratio;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文