Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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,我有一堆LI元素,每个元素都有类。因此,由于响应能力,我希望在1050px之后删除这些类。我还没有尝试过用jQuery编写它,但是如果您认为它能够让它工作,那么请随意使用jQuery。 PS:不,我不能仅仅覆盖CSS中的属性,我必须删除它们 var itemsArray=[].slice.call(document.querySelectorAll(“.list li”); var i=0; 函数检查(){ 如果(this.innerWidth为什么不在媒体查询中应用与该类关联的样式,使其仅在

我有一堆LI元素,每个元素都有类。因此,由于响应能力,我希望在1050px之后删除这些类。我还没有尝试过用jQuery编写它,但是如果您认为它能够让它工作,那么请随意使用jQuery。 PS:不,我不能仅仅覆盖CSS中的属性,我必须删除它们

var itemsArray=[].slice.call(document.querySelectorAll(“.list li”);
var i=0;
函数检查(){

如果(this.innerWidth为什么不在媒体查询中应用与该类关联的样式,使其仅在1050px下生效

@media screen and (max-width: 1050px) {
  .disblck {
    /* styles */
  }

  .disnone {
    /* styles */
  }
}

尽管有最佳实践,但当窗口超过1050px时,您似乎仍然希望删除这些CSS类(我的意思是,对憎恨者来说,他的句柄是“KeyBasher”lolz)

可以将调整大小事件处理程序添加到窗口对象

function handleAbove1050px(){
  const isAbove1050px = window.innerWidth > 1050

  if(isAbove1050px) {
    // remove the classes
    itemsArray.forEach(item => {
      item.classList.remove('disblck')
      item.classList.remove('disnone')
    })
  }
  else {
    // add them back
    itemsArray.forEach(item => {
      item.classList.add('disblck')
      item.classList.add('disnone')
    })
  }
}

window.addEventListener('resize', handleAbove1050px)

这里有一个问题:

因为它们与其他属性冲突…我滥用了!重要规则,没有太多时间重新编写代码…我在两年前写了这篇文章,我再次访问它,因为这是我学校的一个竞赛…@KeyBasher你的问题没有提到这一点。冲突是什么?当然你可以创建CSS规则t更具体的是,按照@Phil的建议去做,并使你的CSS选择器更具体。例如,
li。disblck
将覆盖
li
disblck
,只要你在需要的地方包括
!重要的
。如果需要,将另一个类添加到所有
  • 。“不,我不能只覆盖CSS中的属性,我必须删除它们”@KeyBasher-这对你有用吗?你查看了JSFIDLE链接了吗?