javascript - 这个div为什么不能消失呢?
PHP中文网
PHP中文网 2017-04-11 12:13:00
[JavaScript讨论组]

想要的效果是小于768时 点击按钮可以显示出p 然后让屏幕大于768时 让它p自动消失 之前没有clientWidth那句判断 不行 加上了那句判断也不行 这是为什么?之前实验只有一个p 让它大于768时就消失 试了一下这样可以 但是为什么加上js后就不能消失了呢 真的和js有关系吗?

   
   
   
   


PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
阿神

首先,我们得确定document.body.clientWidth返回的是啥,

console.log(typeof(document.body.clientWidth));//返回number
console.log(document.body.clientWidth);//返回数字

所以你的这句判断:document.body.clientWidth>"768px"是有问题的。
其次,你的需求是“让屏幕大于768时 让它p自动消失”,若自动消失的话,你应该直接把判断写在onresize事件里面,从你代码里看,是只有点击按钮后才去判断,与自动消失的需求不符。

window.onresize=function(){
  console.log(typeof(document.body.clientWidth));
  console.log(document.body.clientWidth);
  if(document.body.clientWidth>768){
     document.getElementById('p1').style.display="none";
  }
}
高洛峰

document.body.clientWidth返回的是一个number对象啊...
改成 document.body.clientWidth > 768

怪我咯

像这种情况,我觉得要么就都用js来改样式,js修改的display是加在行间的,优先级肯定高于页内样式,所以后来在通过media媒体查询修改的样式就不起效了,除非加!important

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号