html中图片亮度调节,HTML+CSS+JS 模仿 Win10 亮度调节效果

5a75b44c83020199c9e16d82fbf48b84.png

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

id="control_bar_mask>

cssbody{

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;

}

效果图

c283565bf55e9b6155ab01bb5537fc81.png

2. 将各个元素叠到一起

cssbody{

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;

}

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

400e985ecc7c2bad7b6edce2ef17fd17.png

3. 添加js

jswindow.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;

};

};

};

推荐教程:《HTML教程》

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值