如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
How would I change the background color of an HTML file if the screen size is too small using a javascript function?
如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色?例如,我需要我的HTML文件的背景是灰色的,但如果窗口大小小于600px,它就会变成红色。以下是我在CSS 中的内容
<style>
body {
background-color: gray;
}
@media screen and (max-width: 600px) {
body {
background-color: red;
}
}
</style>
首先使用resize事件检查窗口大小<body onresize="changeColor()">
添加以下功能来实现您的逻辑
<script>
//Check if window width is less than or equal to 600,then change bg
function changeColor() {
var w = window.outerWidth;
if(w<=600)
document.body.style.backgroundColor = "red";
}
</script>
纯javascript:-
if (window.screen.availWidth < 600) {
document.body.style.background="#FF0000"
}
对于jQuery,使用$( window ).width();
方法。
您可能想要附加到全局window
对象的onresize
事件。(https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onresize)。
然后,您可以检查窗口大小并采取相应的行动。(https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth)。
例如
window.onresize = function(){
if (window.innerWidth < 600){
// set colors
} else {
// set other colors
}
}
$(document).ready(function(){
if($(window).width() < 600){
$('body').css('background-color','red');
}else{
$('body').css('background-color','grey');
}
});
既然所有主流浏览器都支持媒体查询,那么在JavaScript中做这样的事情真的没有意义,但如果你不想同时针对旧浏览器,这将起到作用:
var backgroundColorCheck = function() {
if ( window.screen.availWidth <= 600 ) {
document.body.style.backgroundColor = 'red';
}
else {
document.body.style.backgroundColor = 'blue';
}
};
// bind our backgroundColorCheck function to the resize event:
window.onresize = backgroundColorCheck;
// call backgroundColorCheck function to make an initial check of the width:
backgroundColorCheck();
这应该能奏效。一旦页面加载,以及每当用户更改窗口大小时,它都会启动。
document.onload = checkWidth();
window.onresize = checkWidth();
function checkWidth() {
if (window.innerWidth < 600) {
document.body.style.backgroundColor = "red";
} else {
document.body.style.backgroundColor = "gray";
}
}
如果您使用jquery,您可以执行
function resize(){
if($(window).width() < '600'){
$('body').css('background','#000');
}
else{
$('body').css('background','#fff');
}
};
$(document).ready(resize);
$(window).resize(resize);
相关文章:
- 如何使用jquery更改html中的背景颜色
- 选择框更改后Jquery更改html
- 在页面呈现之前更改HTML数据
- 如果使用javascript函数屏幕太小,我该如何更改HTML文件的背景色
- 使用 Pure JS 更改 HTML 标记名称
- 加载页面时更改html页面的位置
- 使用JavaScript变量更改HTML组类
- 如何使用Javascript更改HTML元素的类
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- Javascript单击更改HTML的内容
- 使用javascript更改HTML文件的输入值
- 是否可以更改html<输入>文件
- 无法通过内容脚本使用jQuery更改HTML元素的样式
- 使用jquery为移动布局更改html层次结构
- 更改html标记或其子标记(而不是其属性)文本中的日期格式
- 如何通过JS在不干扰其标记的情况下更改HTML文档中字符串的所有实例
- 如果值为空或0,如何更改html select标记的边框颜色
- 使用$watch更改html内容
- 更改HTML按钮值的颜色,其中值来自调用Javascript的onclick
- ajax成功响应后如何更改html类