首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery在加载时关闭box-shadow

Jquery在加载时关闭box-shadow
EN

Stack Overflow用户
提问于 2011-11-22 17:47:32
回答 2查看 4.2K关注 0票数 4

我有一些元素,它们周围有一个默认的CSS3框阴影,如果用户打开了javascript,尽管我想隐藏框阴影。

我目前正在使用下面看到的代码来隐藏其他元素,除了长方体阴影之外,这个方法可以很好地工作。我已经做了一些测试,比如把其他代码放在' box-shadow :none‘的地方,它总是能像预期的那样工作,因此我认为这是CSS3的box-shadow属性和jquery的兼容性问题。

有没有人能想出解决这个问题的办法?或者在页面加载时关闭box-shadow属性的另一种方法。

提前感谢您的帮助。

代码语言:javascript
复制
$('html').append('<style type="text/css">.sub-menu{width:897px;display:none;} .sub-menu-header{box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;}</style>');

子菜单标题的CSS

代码语言:javascript
复制
.sub-menu-header{
   -moz-box-shadow: 1px 1px 5px #000;
   -webkit-box-shadow: 1px 1px 5px #000;
   box-shadow: 1px 1px 5px #000;
   border:1px solid #CCC;
   cursor:pointer; 
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-22 18:07:13

您可以向html标记添加一个no-js类:<html class="no-js">

添加您的样式:

代码语言:javascript
复制
.no-js .sub-menu-header{
   -moz-box-shadow: 1px 1px 5px #000;
   -webkit-box-shadow: 1px 1px 5px #000;
   box-shadow: 1px 1px 5px #000;
}
.sub-menu-header{
   border:1px solid #CCC;
   cursor:pointer; 
}

然后删除javascript文件中的no-js类:

代码语言:javascript
复制
$("html").removeClass("no-js");
票数 3
EN

Stack Overflow用户

发布于 2011-11-22 18:03:54

如果不能修改css,更好的方法是使用jQuery的css方法。确保除了css中的类选择器之外,没有以任何其他方式指定box-shadow属性:

代码语言:javascript
复制
$(document).ready(function () {
  $(".sub-menu-header").css("box-shadow", "none");
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8224797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档