html的window效果,HTML+CSS+JS模仿win10亮度调节效果

HTML+CSS+JS模仿win10亮度调节效果

代码

模仿win10的亮度调节

.control_bar{

height:200px;

width:500px;

border-bottom:3px solid #888888;

}

.control_bar_cursor{

height:25px;

width:8px;

background: #505151;

border-radius:5px;

margin-top:-12.5px;

position:relative;

top:0;

left:0;

}

.control_bar_cursor:hover{

background:white;

}

#control_bar_mask{

margin-top:-203px;

width:0px;

}

.mask{

position:fixed;

bottom:0;

top:0;

left:0;

right:0;

background:black;

z-index:-1;

}

window.onload = function(){

var control_bar = document.getElementsByClassName("control_bar")[0];

var control_bar_mask = document.getElementById("control_bar_mask");

var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];

var def_left = control_bar_cursor.offsetLeft;

var mask = document.getElementsByClassName("mask")[0];

document.body.onmousedown = function(){

window.onmousemove = function(){

var cursor_X = event.clientX;

var cursor_Y = event.clientY;

if(cursor_X < def_left){

control_bar_cursor.style.left = 0;

}else if(cursor_X > control_bar.offsetWidth + def_left){

control_bar_cursor.style.left = control_bar.offsetWidth;

}else{

control_bar_cursor.style.left = cursor_X - def_left + "px";

}

//亮度比

var proportion = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);

control_bar_mask.style.width = proportion * control_bar.offsetWidth + "px";

mask.style.opacity = 1 - proportion;

};

window.onmouseup = function(){

window.onmousemove = null;

};

};

};

1.将各个元素的样子写出来

​ 这里为了方便好观察给body添加了一个背景颜色

html

css body{

background:back;

}

.control_bar{

height:200px;

width:500px;

border-bottom:3px solid #888888;

}

.control_bar_cursor{

height:25px;

width:8px;

background: #505151;

border-radius:5px;

}

效果图

e614ab6ad42bd1c20abe79696e220170.png

2. 将各个元素叠到一起

css body{

background:black;

}

.control_bar{

height:200px;

width:500px;

border-bottom:3px solid #888888;

}

.control_bar_cursor{

height:25px;

width:8px;

background: #505151;

border-radius:5px;

margin-top:-12.5px;

position:relative;

top:0;

left:0;

}

.control_bar_cursor:hover{

background:white;

}

#control_bar_mask{

margin-top:-203px;

width:100px;

}

这里为了显示遮罩效果把遮罩层的div宽度设小了

91430eb09ff348e31cc7ef44982a4c27.png

3. 添加js

js window.onload = function(){

var control_bar = document.getElementsByClassName("control_bar")[0];

var control_bar_mask = document.getElementById("control_bar_mask");

var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];

var def_left = control_bar_cursor.offsetLeft;

document.body.onmousedown = function(){

window.onmousemove = function(){

var cursor_X = event.clientX;

var cursor_Y = event.clientY;

if(cursor_X < def_left){

control_bar_cursor.style.left = 0;

}else if(cursor_X > control_bar.offsetWidth + def_left){

control_bar_cursor.style.left = control_bar.offsetWidth;

}else{

control_bar_cursor.style.left = cursor_X - def_left + "px";

}

var proportion = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);

control_bar_mask.style.width = proportion * control_bar.offsetWidth + "px";

};

window.onmouseup = function(){

window.onmousemove = null;

};

};

};

4. 添加一个mask用控制条来控制其透明度达到亮度调节效果

position:fixed;

bottom:0;

top:0;

left:0;

right:0;

background:black;

z-index:-1;

} window.onload = function(){

var control_bar = document.getElementsByClassName("control_bar")[0];

var control_bar_mask = document.getElementById("control_bar_mask");

var control_bar_cursor = document.getElementsByClassName("control_bar_cursor")[0];

var def_left = control_bar_cursor.offsetLeft;

var mask = document.getElementsByClassName("mask")[0];

document.body.onmousedown = function(){

window.onmousemove = function(){

var cursor_X = event.clientX;

var cursor_Y = event.clientY;

if(cursor_X < def_left){

control_bar_cursor.style.left = 0;

}else if(cursor_X > control_bar.offsetWidth + def_left){

control_bar_cursor.style.left = control_bar.offsetWidth;

}else{

control_bar_cursor.style.left = cursor_X - def_left + "px";

}

//亮度比

var proportion = parseInt(control_bar_cursor.offsetLeft - def_left) / parseInt(control_bar.offsetWidth - 1);

control_bar_mask.style.width = proportion * control_bar.offsetWidth + "px";

mask.style.opacity = 1 - proportion;

};

window.onmouseup = function(){

window.onmousemove = null;

};

};

};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值