2014-12-12 2 views
0

Я использую j-query, чтобы установить высоту div так же, как width.It теперь работает нагрузка, но я хочу, чтобы она запускалась при изменении размера окна.Запустить JQuery на размер окна

Я использую это:

<script> 
$(document).ready(function(){ 
$('.source').each(function(){ 
    var currentWidth = $(this).width(); 
    $(this).height(currentWidth); 
}) 
}) 

+0

Я хочу, чтобы мои избиратели ответили на мой ответ, можете прочитать ссылку, которую я разместил! - –

+0

Назовите свою анонимную функцию и используйте ее при изменении размера окна тоже .. кто-то уже ответил одинаково. [Ссылка] (http://stackoverflow.com/a/27441872/1577396). –

ответ

0

Это просто изменение код @Bala

// ready event 
$(function() { 
    function test() { 
     $('.source').each(function() { 
      var self = $(this); 
      self.height(self.width()); 
      // but how the width is changing? 
     }); 
    }(); //calling the function 

    // resize event 
    $(window).resize(test); 
}); 

BTW, как ширина меняется?

+0

Ширина дается 33%, поэтому она меняется в зависимости от размера экрана. –

+0

@hussainnayani, тогда я думаю, что это не требует jquery. его можно решить с помощью css. Проверьте это [Fiddle] (http://jsfiddle.net/frvjyeru/). –

+0

Да, вы правы @Mr_Green, спасибо. –

3

Вы можете использовать так:

$(window).on('resize',function(){ 
$('.source').each(function(){ 
    var currentWidth = $(this).width(); 
    $(this).height(currentWidth); 
}) 
}).resize();//runs at first load 
+1

Спасибо дорогой. Это сработало. –

0
$(window).on('resize', function(){ 
    $('.source').each(function(){ 
     var currentWidth = $(this).width(); 
     $(this).height(currentWidth); 
    }); 
}); 

$(document).ready(function(){ 
    $('.source').each(function(){ 
     var currentWidth = $(this).width(); 
     $(this).height(currentWidth); 
    }); 
}); 

или даже лучше, поставить дублирующий код в отдельная функция:

$(window).on('resize', function(){ 
    changeWidth(); 
}); 

$(document).ready(function(){ 
    changeWidth(); 
}); 

function changeWidth() { 
    $('.source').each(function(){ 
     var currentWidth = $(this).width(); 
     $(this).height(currentWidth); 
    }); 
} 
0

использование window.resize() событие в JQuery

function test() { 
    $('.source').each(function() { 
     var currentWidth = $(this).width(); 
     $(this).height(currentWidth); 
    }); 
} 

$(document).ready(function() { 
    test(); 
    $(window).resize(test); 
}); 
+0

Объясните свой ответ, пожалуйста. –

+0

Бала, объявление функции должно быть первым. Я редактировал. дайте мне знать, если я ошибаюсь. –

+0

@Mr_Green, что не проблема, см. Это http://designpepper.com/blog/drips/variable-and-function-hoisting – Balachandran

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