一个网站可以有多种配色方案,例如正常模式,夜间模式等。

简单示例一个通过点击toggle 按钮,切换body元素的class,达到切换配色模式的angularjs小app。

1. Live范例可以在以下Codepen网址查看: http://codepen.io/ChristyWang/pen/NPxNMx

2. Toggle button源代码由以下网站生成:https://proto.io/freebies/onoff/

3. 主要文件有两个:index.html和main.css。

index.html文件代码如下:

<!DOCTYPE html>
<html><head><link rel='stylesheet' type='text/css' href='main.css'><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script><script>var myApp = angular.module('App', []);myApp.controller('AppController',function($scope) {<span style="white-space:pre">   </span>//默认lightswitch关闭$scope.lightswitch = 'off';$scope.switchTheme = function() {var checkProperty = document.getElementById('myonoffswitch').checked;//如果toggle button被点击,body元素class设为“on”if (checkProperty) {$scope.lightswitch = 'on';} //如果toggle button再次被点击,body元素class设为“off”else {$scope.lightswitch = 'off';}}});</script>
</head><body ng-app='App' ng-controller='AppController' ng-class="lightswitch"><div class="onoffswitch"><input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" id="myonoffswitch" ng-click="switchTheme()"><label class="onoffswitch-label" for="myonoffswitch"> <span class="onoffswitch-inner"></span><span class="onoffswitch-switch"></span></label></div><p class='p1'>test line 1</p><p class='p2'>test line 2</p>
</body></html>

main.css文件代码如下:

 /*for light swtich*/.off p {color: red;
}body.on{background-color:grey;
}.on p {color: blue;
}/*for the toggle button*/
.onoffswitch {position: relative; width: 67px;-webkit-user-select:none; -moz-user-select:none; -ms-user-select: none;
}
.onoffswitch-checkbox {display: none;
}
.onoffswitch-label {display: block; overflow: hidden; cursor: pointer;border: 2px solid #999999; border-radius: 20px;
}
.onoffswitch-inner {display: block; width: 200%; margin-left: -100%;-moz-transition: margin 0.3s ease-in 0s; -webkit-transition: margin 0.3s ease-in 0s;-o-transition: margin 0.3s ease-in 0s; transition: margin 0.3s ease-in 0s;
}
.onoffswitch-inner:before, .onoffswitch-inner:after {display: block; float: left; width: 50%; height: 22px; padding: 0; line-height: 22px;font-size: 14px; color: white; font-family: Trebuchet, Arial, sans-serif; font-weight: bold;-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
}
.onoffswitch-inner:before {content: "ON";padding-left: 10px;background-color: #0064D2; color: ;
}
.onoffswitch-inner:after {content: "OFF";padding-right: 10px;background-color: #F0F0F0; color: #999999;text-align: right;
}
.onoffswitch-switch {display: block; width: 18px; margin: 2px;background: #FFFFFF;border: 2px solid #999999; border-radius: 20px;position: absolute; top: 0; bottom: 0; right: 41px;-moz-transition: all 0.3s ease-in 0s; -webkit-transition: all 0.3s ease-in 0s;-o-transition: all 0.3s ease-in 0s; transition: all 0.3s ease-in 0s;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {margin-left: 0;
}
.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {right: 0px;
} 

4. 截图展示:
lightswich off:

lightswitch on:

Angularjs切换网站配色模式简单示例2(切换body元素的class)相关推荐

  1. Angularjs切换网站配色模式简单示例1(切换css文件)

    一个网站可以有多种配色方案,例如正常模式,夜间模式等. 简单示例一个通过点击按钮,更换css文件,达到切换配色模式的angularjs 小app. 主要文件有三个:index.html(主文件),wh ...

  2. 通过网线和EasyFatAP软件切换AP工作模式(瘦版切换胖版)

    使用网线通过EasyFatAP软件切换AP工作模式[V2R5至V2R10版本] 适用于:支持FIT和FAT两种工作模式的AP:FIT与FAT模式相互切换,以及FAT模式的升/降级:V200R005至V ...

  3. html选项卡切换代码,js实现简单的可切换选项卡效果

    本文实例讲述了js实现简单的可切换选项卡效果的方法.分享给大家供大家参考.具体如下: 如图,最简单的纯粹的选项卡 第一步,当然是先写html代码和css样式 无标题文档 body,ul,li{marg ...

  4. python设计模式名片_Python设计模式之门面模式简单示例

    本文实例讲述了python设计模式之门面模式.分享给大家供大家参考,具体如下: facade:建筑物的表面 门面模式是一个软件工程设计模式,主要用于面向对象编程. 一个门面可以看作是为大段代码提供简单 ...

  5. html实现网页夜间模式,通过JS和PHP实现网站夜间模式的自动切换

    前言 想做夜间模式很久了,只是苦于JS小白,不会操作Cookie,最近看到QQ爹的<网站夜间模式的实现> 这个功能主要包括三个部分夜间模式开关按钮:用来手动切换夜间模式的,自动存储显示模式 ...

  6. Android 超简单音乐播放器(六)播放暂停音乐,更换播放模式,上下歌曲切换(service)

    创建service 当启动一个Service的时候,会调用该Service中的onCreate()和onStartCommand()方法. 当再次start Service,这次只有onStartCo ...

  7. Think in AngularJS :对比 jQuery 和 AngularJS 的不同思维模式

    原帖:http://stackoverflow.com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background 最 ...

  8. 【学习总结】Apsara Clouder云计算技能认证:网站建设:简单动态网站搭建+思维导图

    [学习总结]Apsara Clouder云计算技能认证:网站建设:简单动态网站搭建 网站搭建的类型 网站的主要分类 静态网站 动态网站 动态网站的实现方式 动态网站搭建涉及的内容: 动态网站的常见实现 ...

  9. 一步到位:三行CSS代码轻松实现全网站暗黑模式

    本文首发于微信公众号:大迁世界, 我的微信:qq449245884,我会第一时间和你分享前端行业趋势,学习途径等等. 更多开源作品请看 GitHub https://github.com/qq4492 ...

最新文章

  1. 几种Linux包管理系统的命令对照
  2. 深度洞见|一文详解 2022 数字营销的变与不变
  3. deepin部署python开发环境_deepin系统下部署Python3.5的开发及运行环境
  4. 文献阅读:知识图谱数据管理研究综述
  5. C/C++面试题—重建二叉树【前序 + 中序- 重建二叉树 和 后序 + 中序 - 重建二叉树】
  6. php无限评论回复_php如何制作无限级评论功能?
  7. python的N个小功能(图片预处理:打开图片,滤波器,增强,灰度图转换,去噪,二值化,切割,保存)...
  8. 安装office2010常见的提示错误解决办法
  9. 微信小程序 生成二维码
  10. 计算机测试的论文,计算机软件测试毕业论文(定稿).doc
  11. C盘扩容,解决电脑卡顿
  12. 手机上最好用的五笔输入法_什么手机输入法最实用?目前最受欢迎的3款盘点,你正在用哪款呢...
  13. SDOI2015 寻宝游戏
  14. 2020年中国工程机械租赁行业现状及市场竞争格局分析,工程机械运营市场集中度极低,高空作业平台市场集中度较高「图」
  15. 让群晖ds218play同树莓3B+派互通有无
  16. dataframe数据标准化处理_数据标准化处理
  17. WEB端Monkey测试gremlins.js
  18. 如何利用JAVA代码查找电脑已经连接过的WIFI密码
  19. 无界XR落地工体元宇宙:不仅是球赛,还有XR社交新玩法
  20. 提取excel文件原生图标并替换给exe简单方法

热门文章

  1. mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
  2. qt android程序联网死机,qt android开发出现致命错误
  3. 算法提高 邮票面值设计 搜索 动态规划
  4. php如何直接使用iview,iview 使用总结
  5. 重构碎片化知识_荐书|《重构:数字化转型的逻辑》
  6. html5难点,学习HTML5的难点是什么?
  7. helm安装_Helm部署和体验jenkins
  8. 采用我国国产处理器的超级计算机是,“中国芯”超级电脑合肥诞生 首次采用国产CPU芯片...
  9. 【蓝桥杯每日一练】 斐波那契数列
  10. 职称计算机考试word2003真题,职称计算机考试《Word2003》历年真题回顾(1)