想要弄个开关来控制页面背景,于是便有了右下角的那个悬浮按钮,目前只弄成了开关功能,以后想把它扩展成一个设置按钮
感谢2Broear大佬的帮助,实现了背景改变的时候淡入淡出了~
// TODO: 需要将用户设置存入localstorage,否则一切换页面又恢复了咕咕咕
html代码
html代码并没有直接写死到页面上,毕竟不可能一个一个页面改...emmm...所以这里给出的其实是目标html代码,实际上是用js加入这些元素的
<div class="tools-btns" title="开启/关闭背景">
<div onclick="toggleBg()">
<i class="fa fa-cog fa-spin fa-5x" aria-hidden="true"></i>
</div>
</div>
js代码
js写到了一个文件里,使用的时候引入这个文件即可。里面有两个方法,第一个是在页面加载的时候把上面的元素加到页面上,第二个就是用来控制背景的开关了
因为有三层元素,偷了个懒,没有document.createElement()三次,内层的直接给它加字符串了=。=
addToolsBtns(); //页面加载时直接执行
// 插入右下角按钮
function addToolsBtns() {
var tools_btns = document.createElement("div");
tools_btns.setAttribute("class", "tools-btns");
tools_btns.setAttribute("title", "开启/关闭背景");
document.getElementsByTagName("body")[0].appendChild(tools_btns);
var innerHTMLStr = "<div onclick='toggleBg()'><i class='fa fa-cog fa-spin fa-5x' aria-hidden='true'</i> </div>";
document.getElementsByClassName("tools-btns")[0].innerHTML = innerHTMLStr;
}
// 切换背景
function toggleBg() {
var site_main = document.getElementById("main");
if (site_main.className === "site-main") {
site_main.className = "site-main no-bg";
} else {
site_main.className = "site-main";
}
}
CSS代码
CSS就不用多说了,啊我的CSS好渣啊虽然js也差不多...调个位置大小啥的调了半天TAT...
.tools-btns {
position: fixed;
bottom: 40px;
right: 40px;
height: 40px;
width: 40px;
text-align: center;
font-size: 0.6rem;
/* color: #ffaa00; 橙 */
color: #FB7299; /* 粉 */
visibility: visible;
z-index: 999;
}
.tools-btns > div {
cursor: pointer;
transition: all 0.5s;
background: #6666;
border-radius: 25px;
}
.site-main.no-bg::after {
opacity:0!important;
}
然后放一下压缩后的css
.tools-btns{position:fixed;bottom:40px;right:40px;height:40px;width:40px;text-align:center;font-size:0.6rem;color:#FB7299;visibility:visible;z-index:999;}.tools-btns>div{cursor:pointer;transition:all 0.5s;background:#6666;border-radius:25px;}.site-main.no-bg::after{opacity:0!important;}
突然好像明白了那些页面上的小插件都是怎么来了的捏~ 反正我就createElement加进来就是了~