У меня есть следующие две функции, для которых требуется $(window).resize();
& $(document).ready();
.
Я пытаюсь оптимизировать код и сделать короче, удалив дубликат $(window).resize();
& $(document).ready();
и показывать только один раз в файле и просто обернуть все функции, необходимые им в них.
Например,
function onResize(){
//Grid system
var gridElement = $(".gridElement", "#grid3");
function GalleryGrid() {
var grid3 = $('#grid3');
var width = $(window).width();
if (width < 1024 && width > 770) {
var grid1 = $('#grid1');
var grid2 = $('#grid2');
for (var i = 0; i < gridElement.length; i++) {
if (i < gridElement.length/2) {
grid1.append(gridElement[i]);
} else {
grid2.append(gridElement[i]);
}
}
} else {
grid3.append(gridElement);
}
}
//Full screen
function fullScreen() {
var newHeight = $("html").height() + "px";
$(".fullscreen").css("height", newHeight);
}
}
$(document).ready(onResize);
$(window).resize(onResize);
Весь код обернут $(document).ready(function(){
Однако все мои попытки вокруг этого подхода ломает код, особенно Gridsystem ... она просто не работает, что я делаю неправильно?
Вы можете заменить '$ (документ) .ready (OnResize),' 'с OnResize() здесь. –
Я не вижу, где вы вызываете функцию GalleryGrid –
@dystroy у файла могут быть другие функции, которые не требуются при изменении размера –