通过js来改变CSS属性,使用jQuery可以很方便的实现,像这样:
$("img").css('border-color','red')
就可以把边框颜色都变成红色。
这是针对此问题的测试页面
2、这是3张图片
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=975878983,2392470128&fm=11&gp=0.jpg'>
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=61343736,951557457&fm=11&gp=0.jpg'>
<img src='https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=1354592590,1762022981&fm=11&gp=0.jpg'>
3、这是图片的样式,边框默认为灰色。
img{
max-width:200px
border-color:gray
border-width:10px
border-style:solid
}
4、现在通过这几行用到jQuery的代码,控制图片边框根据鼠标移入移出边框变灰和变红。
$(function(){
$("img").on('mouseover',function(){
$(this).css('border-color','red')
}).on('mouseout',function(){
$(this).css('border-color','gray')
})
})
5、效果如图
JS控制css样式的几种方式
我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:
1,通过style属性或者setAttribute()来更改样式
2,如果只是改变伪类(after,before)的content内容也可以这么做
3,通过更改类名来更改样式
4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式
5,动态加载样式表
如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式
本文来自PHP中文网,原文地址: https://www.php.cn/website-design-ask-479590.html 推荐视频教程:《 js基础教程 》
1、直接更改,比如:
xID.style.display = "block" // 更改display属性,会覆盖css中的定义。xID.style.display = "" // 取消js更改display属性,以css样式为准。
这里的xID,是通过id获取的标签。当然,也可能是通过tagName之类的获取的标签。
这种方式,简单直接。但是要修改大量的样式的时候,不适合。所以,我更推荐第二种方式。
2、更改类名
xID.className = "xx yy"如果有多个类,就用空格隔开。前提,在样式中要有已有类的定义。比如这里的xx和yy类,在css中应该是写好的。
这种方式把所有的样式写在了css文件中,适合更改较多的样式以及炫酷的样式。js就只做一件事情:改类。至于这个类会把标签变成什么样子,交给css吧。
通过jquery也可以达到如上的效果:
$("#xID").css({fontSize:"12px",
display:"block"
}) // 直接更改样式
$("#xID").addClass("xx") // 增加删除类
$("#xID").removeClass("xx")
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)