Я использую JQuery, чтобы сохранить соотношение сторон при повторной калибровке. На небольших экранах я хочу использовать этот скрипт в другом классе. Кажется, все работает очень хорошо при первой загрузке.Как запустить сценарий при изменении размера окна?
Но когда я изменяю размер моего окна от большого> 768 до малого < 767, скрипт не работает, если я не перезаряжу. Странно, когда я загружаю сайт в маленьком окне < 767 и изменяю его размер до большого> 768, скрипт действительно работает и продолжает работать при повторной калибровке. Любая идея, как это решить?
if ($(window).width() > 768) {
/* square featured-column1 box aanpassing */
equalheight = function(container) {
var currentTallest = 0,
currentRowStart = 0,
rowDivs = new Array(),
$el,
topPosition = 0;
$(container).each(function() {
$el = $(this);
$($el).height('auto')
topPostion = $el.position().top;
if (currentRowStart != topPostion) {
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
rowDivs.length = 0; // empty the array
currentRowStart = topPostion;
currentTallest = $el.height();
rowDivs.push($el);
} else {
rowDivs.push($el);
currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);
}
for (currentDiv = 0; currentDiv < rowDivs.length; currentDiv++) {
rowDivs[currentDiv].height(currentTallest);
}
});
}
$(window).load(function() {
equalheight('.featured-column');
});
$(window).resize(function() {
equalheight('.featured-column');
});
/* Aspect ratio box (responsive rechthoek) aanpassing */
$(document).ready(function() {
aspectResize();
$(window).resize(aspectResize);
});
aspectResize = function() {
var $aspect = $('div.up-to-date-bar');
var width = $aspect.width();
$aspect.height(width/3 * 1);
}
}
/* Aspect ratio box (responsive rechthoek) aanpassing up-to-date-column*/
if ($(window).width() < 767) {
$(document).ready(function() {
aspectResize();
$(window).resize(aspectResize);
});
aspectResize = function() {
var $aspect = $('div.up-to-date-column');
var width = $aspect.width();
$aspect.height(width/1 * 1);
}
}
не заметил, что там было больше кода. - можете ли вы воспроизвести проблему внутри jsfiddle –
Возможный дубликат [Выполнение JQuery при изменении размера окна?] (http://stackoverflow.com/questions/9828831/jquery-execution-on-window-resize) – Huangism