如何让一个div的背景颜色,随着鼠标的不断点击而不断加深,js代码怎么写?

发布于 2022-09-07 22:02:21 字数 54 浏览 23 评论 0

可以再复杂一点,比如左键不断点击,不断加深、从浅红到深红,直至无法再加深,右键点击实现逆操作!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

同展鸳鸯锦 2022-09-14 22:02:21

颜色可以根据需要自己调整一下

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    div {
      width: 300px;
      height: 300px;
      border: 2px solid #000;
    }
  </style>
</head>

<body oncontextmenu="return false">
  <div id='div' onmousedown='divClick(event)'></div>

  <script>
    var bgColor = ['00', '11', '22', '33', '44', '55', '66', '77', '88', '99', 'aa', 'bb', 'cc', 'dd', 'ee', 'ff'];
    var div = document.getElementById('div');

    function changeBg(index) {
      div.setAttribute('style', 'background-color: #' + bgColor[index] + '0000')
      div.setAttribute('data-index', index)
    }
    changeBg(0);

    function divClick(event) {
      var mouse = event.button
      var index = div.getAttribute('data-index')
      if(index == 0 && mouse == 0){
        index++
      }else if(index == (bgColor.length - 1) && mouse == 2){
        index--
      }else if (index > 0 && index < (bgColor.length - 1)) {
        if (mouse == 0) {//左键
          index++
        } else if (mouse == 2) {//右键
          index--
        }
      }
      changeBg(index);
    }
  </script>
</body>

</html>
江南月 2022-09-14 22:02:21

颜色加深变化,可以从颜色十六进制 入手
剩下的就是绑定鼠标事件改变rgb值了

时光清浅 2022-09-14 22:02:21

使用滤镜可以,具体代码

const step = 1;
const div = document.getElementById('div');
let percent = 100;
function darken() {
   percent += step;
   div.style.filter =  `brightness(${percent}%)`;
}
div.addEventListener('click', darken, false)
身边 2022-09-14 22:02:21

首先帮你理解下你具体加深的原理 控制rgba

黑=>红  为 rgb的r  从0=>255
白=>红  为 rgb的gb 从255=>0

图片描述

<script>
window.onload=function(){
    let num=255;
    document.onclick=function(){
        num--;
        if(num<=0)num=0;
        div1.style.background='rgb(255,'+num+','+num+')';
    }
}
</script>
    <div id="div1" style="width:50px; height:50px;"></div>
不离久伴 2022-09-14 22:02:21

用hsv

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文