jQuery 调整大小时移动元素
jQuery moving elements on resize
我正在努力找出这段 jQuery 代码的问题所在。我正在尝试将几个元素从一个 div 移动到另一个。取决于屏幕的宽度。该代码在页面加载时有效,但在我调整大小时无效。
var domWidth = $(window).width();
//Move around page elements
function moveElements() {
var pageTitle = $('.page-title'),
actionAlert = $('.action-alert'),
banner = $("#banner>.container"),
header = $("header>.container"),
mainContent = $(".main-content");
if (domWidth < 1024) {
pageTitle.prependTo(mainContent);
actionAlert.appendTo(header);
} else {
pageTitle.appendTo(banner);
actionAlert.prependTo(banner);
}
}
$(document).ready(function() {
moveElements();
$(window).resize(function() {
moveElements();
});
});
您可以从 div 更改侦听器触发事件。
$(window).trigger('resize')
检查 this 以获得更多想法
//Move around page elements
function moveElements() {
var domWidth = $(window).width();
var pageTitle = $('.page-title'),
actionAlert = $('.action-alert'),
banner = $("#banner >.container"),
header = $("#header >.container"),
mainContent = $(".main-content");
if (domWidth < 1024) {
pageTitle.prependTo(mainContent);
actionAlert.appendTo(header);
} else {
pageTitle.appendTo(banner);
actionAlert.prependTo(banner);
}
}
$(document).ready(function() {
moveElements();
$(window).resize(function() {
moveElements();
});
});
Some Serious edits are made to your code .
the errors in your code are
- 最主要的是你把
var domWidth =$(window).width();
放在函数外面。
//它应该在函数内,因为每次函数工作时你都需要找到宽度。
- 您错过了在
header = $("header>.container")
中添加 #
For the sake of checking I made a working demo in
https://jsfiddle.net/8m0d1462/
(reduced the width to 400 for the sake of checking)
我正在努力找出这段 jQuery 代码的问题所在。我正在尝试将几个元素从一个 div 移动到另一个。取决于屏幕的宽度。该代码在页面加载时有效,但在我调整大小时无效。
var domWidth = $(window).width();
//Move around page elements
function moveElements() {
var pageTitle = $('.page-title'),
actionAlert = $('.action-alert'),
banner = $("#banner>.container"),
header = $("header>.container"),
mainContent = $(".main-content");
if (domWidth < 1024) {
pageTitle.prependTo(mainContent);
actionAlert.appendTo(header);
} else {
pageTitle.appendTo(banner);
actionAlert.prependTo(banner);
}
}
$(document).ready(function() {
moveElements();
$(window).resize(function() {
moveElements();
});
});
您可以从 div 更改侦听器触发事件。
$(window).trigger('resize')
检查 this 以获得更多想法
//Move around page elements
function moveElements() {
var domWidth = $(window).width();
var pageTitle = $('.page-title'),
actionAlert = $('.action-alert'),
banner = $("#banner >.container"),
header = $("#header >.container"),
mainContent = $(".main-content");
if (domWidth < 1024) {
pageTitle.prependTo(mainContent);
actionAlert.appendTo(header);
} else {
pageTitle.appendTo(banner);
actionAlert.prependTo(banner);
}
}
$(document).ready(function() {
moveElements();
$(window).resize(function() {
moveElements();
});
});
Some Serious edits are made to your code .
the errors in your code are
- 最主要的是你把
var domWidth =$(window).width();
放在函数外面。 //它应该在函数内,因为每次函数工作时你都需要找到宽度。 - 您错过了在
header = $("header>.container")
中添加 #
For the sake of checking I made a working demo in https://jsfiddle.net/8m0d1462/ (reduced the width to 400 for the sake of checking)