博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Css 切换
阅读量:5321 次
发布时间:2019-06-14

本文共 1315 字,大约阅读时间需要 4 分钟。

默认的CSS 类切换只能是无样式和指定样式之间的切换,如果想实现样式1 和样式2

之间的切换还必须自己写一些逻辑。
$('div').click(function () {
$(this).toggleClass('red size'); //一开始切换到样式2
if ($(this).hasClass('red')) { //判断样式2 存在后
$(this).removeClass('blue'); //删除样式1
} else {
$(this).toggleClass('blue'); //添加样式1,这里也可以addClass
}
});
上面的方法较为繁琐,.toggleClass()方法提供了传递匿名函数的方式,来设置你所需要
切换的规则。
$('div').click(function () {
$(this).toggleClass(function () { //传递匿名函数,返回要切换的样式
return $(this).hasClass('red') ? 'blue' : 'red size';
});
});
注意:上面虽然一句话实现了这个功能,但还是有一些小缺陷,因为原来的class 类没
有被删除,只不过被替代了而已。所以,需要改写一下。
$('div').click(function () {
$(this).toggleClass(function () {
if ($(this).hasClass('red')) {
$(this).removeClass('red');
return 'green';
} else {
$(this).removeClass('green');
return 'red';
}
});
});
我们也可以在传递匿名函数的模式下,增加第二个频率参数。
var count = 0;
$('div').click(function () {
$(this).toggleClass(function () {
return $(this).hasClass('red') ? 'blue' : 'red size';
},count++ % 3 == 0); //增加了频率
});
对于.toggleClass()传入匿名函数的方法,还可以传递index 索引、class 类两个参数以及
频率布尔值,可以得到当前的索引、class 类名和频率布尔值。
var count = 0;
$('div').click(function () {
$(this).toggleClass(function (index, className, switchBool) {
alert(index + ':' + className + ':' + switchBool); //得到当前值
return $(this).hasClass('red') ? 'blue' : 'red size';
},count++ % 3 == 0);
});

转载于:https://www.cnblogs.com/zzhui/p/5138715.html

你可能感兴趣的文章
两人合作的案例and周记
查看>>
常用资料库
查看>>
将SQLServer结果导出为excel文件
查看>>
深入浅出SharePoint——利用jQuery访问SharePoint Web Service获取用户信息
查看>>
Android 网络通信框架Volley简介(Google IO 2013)
查看>>
搭建SSM框架SpringMVC之JSON传数据
查看>>
SaltStack入门篇(四)之深入理解SaltStack远程执行
查看>>
JVM家族史考【转】
查看>>
WPF-编程问题和解决
查看>>
Android Studio 查看手机CPU信息
查看>>
00-自测5. Shuffling Machine
查看>>
牛客练习赛25 C 再编号
查看>>
『 学习笔记 』网络最大流
查看>>
http请求415错误Unsupported Media Type
查看>>
【转】JS函数的定义与调用方法
查看>>
DOM,windows 对象
查看>>
BEGIN_MESSAGE_MAP
查看>>
鸡尾酒排序算法
查看>>
VC++动态链接库 .
查看>>
RE:从零开始的AGC被虐(到)生活(不能自理)
查看>>