无法检测图像高度jquery

时间:2013-10-24 20:38:10

标签: jquery height size

jQuery(document).ready(function($) {
    $(function() {
        $(".zoom").hover(function () {
            $(this).stop().animate({
                opacity: 0.7
            }, "fast");
        },
        function () {
            $(this).stop().animate({
            opacity: 0},
            "fast");
        });
        });

    function resizeElements() {
        // find out the width of the page
        var img_width = $(".img-effect, .wp-post-image").width();
        var img_height = $(".img-effect").height();

        // apply the new width to the middle column
        $('.zoom, .caption').css('width', img_width);
        $('.zoom').css('height', img_height);
    }

    $(window).resize(resizeElements);

});

var img_width = $(".img-effect").width();
var img_height = $(".img-effect").height();
$('.zoom').css('width', img_width);
$('.zoom').css('height', img_height);

你能帮我解决上面的代码吗?当我提醒img_width时,它会向我显示图片宽度,但当涉及img_height时,它会显示0.图像正常显示。有趣的是,调整大小时检测高度很好。

1 个答案:

答案 0 :(得分:3)

图像在文档就绪时尚未加载的可能性很高。请改用窗口加载事件。当所有图像完全加载并可见时,将触发窗口加载事件。请参阅http://api.jquery.com/load-event/

试试这个:

$(window).load(function () {
    var img_width = $(".img-effect").width();
    var img_height = $(".img-effect").height();

    alert(img_height);
});