Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据窗口大小动态更改类/属性?_Javascript_Html_Css - Fatal编程技术网

Javascript 根据窗口大小动态更改类/属性?

Javascript 根据窗口大小动态更改类/属性?,javascript,html,css,Javascript,Html,Css,每当使用$(window).resize(function() 这里可以看到我尝试做的更简单的版本 我试图使元素的文本颜色在宽度小于500px时变为蓝色,在宽度大于(或等于)时变为红色 因此,当我改变屏幕宽度时,文本应该根据屏幕大小在蓝色/红色之间变化 谢谢你很接近,但错过了一些东西 在更改span标记时,需要将if语句更改为windowswidth的值 同样,对于类,使用带有添加和删除的classList 希望这有帮助:) $(窗口)。调整大小(函数(){ $(“#宽度”).text($(th

每当使用
$(window).resize(function()

这里可以看到我尝试做的更简单的版本

我试图使元素的文本颜色在宽度小于500px时变为蓝色,在宽度大于(或等于)时变为红色

因此,当我改变屏幕宽度时,文本应该根据屏幕大小在蓝色/红色之间变化


谢谢

你很接近,但错过了一些东西

在更改span标记时,需要将if语句更改为windows
width
的值

同样,对于类,使用带有添加和删除的
classList

希望这有帮助:)
$(窗口)。调整大小(函数(){
$(“#宽度”).text($(this.width());
$(“#height”).text($(this.height());
document.getElementById(“宽度”).classList.remove(“蓝色”);
document.getElementById(“宽度”).classList.remove(“红色”);
如果($(this).width()<500){
document.getElementById(“宽度”).classList.add(“蓝色”);
}
否则{
document.getElementById(“宽度”).classList.add(“红色”);
}
});
.blue{
颜色:蓝色;
}
瑞德先生{
颜色:红色;
}

宽度:

高度
不确定这是否符合您的要求,但您可以简单地使用
window.innerWidth()
onresize

HTML:


一些文本
JS:

函数myFunction(){
var div=document.getElementById(“myDiv”);
var width=window.innerWidth();

如果(width)您的小提琴出现控制台错误….
Uncaught ReferenceError:$width未定义
。也许可以从这里开始解决问题….为什么不改为使用媒体查询?这听起来确实像是XY问题。这里是可能重复的解决方案
<body onload="myFunction()" onresize="myFunction()">
    <div id="myDiv">
        Some text
    </div>
</body>
function myFunction() {
    var div = document.getElementById("myDiv");
    var width = window.innerWidth();
    if (width <= 500) {
        div.style.color = "blue";
    } else {
        div.style.color = "red";
    }
}