2015-06-25 3 views
0
$(".sl3-big-image").on('load', function() { 
     alturaImg3 = $('.sl3-big-image').height(); 
     $('.sl3-container').css('height',alturaImg3); 
     $('.sl3-container .sl2-container2').css('height',alturaImg3); 
    }); 

Я думаю, .on('load',...) не работает вообще. Иногда img height равно 0. Я пробовал это, но он не работает.Высота изображения 0.

$(".sl3-big-image").on('load', function() { 
      alturaImg3 = $('.sl3-big-image').height(); 
      $('.sl3-container').css('height',alturaImg3); 
      $('.sl3-container .sl2-container2').css('height',alturaImg3); 
     }).each(function() { 
      if(this.complete) $(this).load(); 
     }); 

В чем может быть проблема? Спасибо

+0

Я думаю, что вам нужно '$ (это) .height()' – Satpal

+0

Количество вещей может быть неправильным. Трудно сказать, не видя ваш HTML и даже CSS (у вас может быть 'img {height: 0}' и т. Д.). Попробуйте «naturalHeight», если вы используете Chrome для тестирования. – alex

ответ

1

Вызовите свою функцию внутри функции window.load.

$(window).load(function(e){ 
    $(".sl3-big-image").on('load', function() { 
      alturaImg3 = $(this).height(); 
      $('.sl3-container').css('height',alturaImg3); 
      $('.sl3-container .sl2-container2').css('height',alturaImg3); 
     }).each(function() { 
      if(this.complete) $(this).load(); 
    }); 
}); 
+0

Это прекрасно работает. Благодаря! –

+0

@AbelAbad, рад помочь вам. Добро пожаловать. – RGS

0

Используя атрибут this работ height просто отлично.

$image = $('img'); 
 

 
$image.on('load', function() { 
 
    console.log(this.height); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<img src="https://lh3.googleusercontent.com/-GEUSBr1DEWw/AAAAAAAAAAI/AAAAAAAAALg/28aKu1XOjeE/photo.jpg" alt="" />

Смежные вопросы