Javascript 或 JQuery 需要重新加载页面,为什么?
Javascript or JQuery need page reload, Why?
为什么 Javascript 或 jQuery 在应用某些效果之前需要重新加载页面?
CSS是实时更新
示例:
这是实时工作的
@media all and (max-width:767px) {
.nav-menu {
margin:0px!important;
}
}
这需要重新加载页面才能看到效果,不要在调整大小时实时更新window
if ($(window).width() > 980) {
do something
};
为什么?
因为后者是JavaScript。目前,它是一个例程,仅在解析脚本标记时触发一次。您可以将它包装在一个函数中并多次触发它。例如,在 window 调整大小事件中。前者是 CSS,浏览器根据 CSS 规则不断更新页面。
window.addEventListener("resize", function(){
if ($(window).width() > 980) {
do something
};
}, false);
或在jQuery:
$(window).on("resize", function(){
if ($(window).width() > 980) {
do something
};
});
现在每次 window 调整大小时都会触发。
这是因为 jQuery/Javascript 是在加载时完成的,而不是在调整 window 大小时完成的。理论上,CSS 也是在加载时完成的,只知道在什么时候显示什么。
如果您想在调整 window 大小时 运行 JS/jQuery,您必须添加如下内容:
window.onresize = resize;
function resize()
{
if ($(window).width() > 980) {
//do something
};
}
每次调整 window 的大小时,上面的代码都会 运行,因此每次 运行 时检查 window 是否大于 980。
这将在触发 resize
事件时起作用
$( window ).resize(function() {
if ($(window).width() > 980) {
...
.....
....
}
});
这会起作用
ref - resize() function in jquery
您必须触发事件才能javascript在不加载页面的情况下检查该条件
window.onresize = function(event) {
// add your if condition here
};
对于 jquery 只需使用下面的
$(window).resize(function() {
// add you if condition here
});
$(window).width()
当你调用这样的函数时,它会在执行时给你一个 return 值。如果你想在调整大小、文档点击等时给出一个值,你必须添加一个事件监听器。
$(window).on('resize', function() {
console.log( $(window).width() )
});
为什么 Javascript 或 jQuery 在应用某些效果之前需要重新加载页面?
CSS是实时更新
示例:
这是实时工作的
@media all and (max-width:767px) {
.nav-menu {
margin:0px!important;
}
}
这需要重新加载页面才能看到效果,不要在调整大小时实时更新window
if ($(window).width() > 980) {
do something
};
为什么?
因为后者是JavaScript。目前,它是一个例程,仅在解析脚本标记时触发一次。您可以将它包装在一个函数中并多次触发它。例如,在 window 调整大小事件中。前者是 CSS,浏览器根据 CSS 规则不断更新页面。
window.addEventListener("resize", function(){
if ($(window).width() > 980) {
do something
};
}, false);
或在jQuery:
$(window).on("resize", function(){
if ($(window).width() > 980) {
do something
};
});
现在每次 window 调整大小时都会触发。
这是因为 jQuery/Javascript 是在加载时完成的,而不是在调整 window 大小时完成的。理论上,CSS 也是在加载时完成的,只知道在什么时候显示什么。
如果您想在调整 window 大小时 运行 JS/jQuery,您必须添加如下内容:
window.onresize = resize;
function resize()
{
if ($(window).width() > 980) {
//do something
};
}
每次调整 window 的大小时,上面的代码都会 运行,因此每次 运行 时检查 window 是否大于 980。
这将在触发 resize
事件时起作用
$( window ).resize(function() {
if ($(window).width() > 980) {
...
.....
....
}
});
这会起作用
ref - resize() function in jquery
您必须触发事件才能javascript在不加载页面的情况下检查该条件
window.onresize = function(event) {
// add your if condition here
};
对于 jquery 只需使用下面的
$(window).resize(function() {
// add you if condition here
});
$(window).width()
当你调用这样的函数时,它会在执行时给你一个 return 值。如果你想在调整大小、文档点击等时给出一个值,你必须添加一个事件监听器。
$(window).on('resize', function() {
console.log( $(window).width() )
});