繁体   English   中英

使所有图像最大高度

[英]Make biggest height all images

$(document).ready(function() {
            var enbuyuk = 0;
            var height = 0;
            $("#onecikanresim0").load(function() {
                enbuyuk = $(this).height();
            });

            var sinir = <?php echo count($urunler); ?>;
            for(var i=1; i<sinir; i++){
                $("#onecikanresim"+i).load(function() {
                    height = $(this).height();
                });
                if(height > enbuyuk){
                    enbuyuk = height;
                }
            }

            for(var i=0; i<sinir; i++){
                $("#onecikanresim"+i).src("height", enbuyuk);                   
            }
</script>

我希望所有图像都达到最大高度。 但是此代码不起作用。 我认为load可以回调。 但是我不知道如何解决它。 有人能帮我吗?

enbuyuk意味着最大的身高

sinir表示图像数量

$("#onecikanresim"+i).src("height", enbuyuk);

这不是分配高度的正确方法,我认为.src()甚至无效。

尝试:

$("#onecikanresim"+i).css("height", enbuyuk);

这不是您唯一的问题。 在使用enbuyuk之前,您将被分配0以外的任何0 $("#onecikanresim0").load()都将在回调之前运行。

很难说出您期望逻辑如何进行,但是下面的内容将使您更加接近。 老实说,您可能要重构整个事情,因为您最终将陷入回调地狱。 您不一定需要.load() 您可以只检查高度,因为您的代码位于jQuery $(document).ready()并且可以合理地假定图像已加载。

var enbuyuk = 0;
var height = 0;

$("#onecikanresim0").load(function() {
    enbuyuk = $(this).height();

    var sinir = <?php echo count($urunler); ?>;
    for(var i=1; i<sinir; i++){
        $("#onecikanresim"+i).load(function() {
            height = $(this).height();

            if(height > enbuyuk){
             enbuyuk = height;
            }
        });

    }

    for(var i=0; i<sinir; i++){
        $("#onecikanresim"+i).src("height", enbuyuk);                   
    }

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM