原生 JavaScript + html + css 写一个可调节屏幕亮度按钮

具体效果图如下

实现思路:

1.利用html css 构建出静态按钮

2.利用JavaScript的一系列dom操作实现下拉按钮与屏幕亮度的绑定

核心:

屏幕亮度的变化是由于屏幕背景颜色的实时刷新而产生的效果

dom操作实现按钮的操作,并且添加条件避免按钮超出 可调节范围

具体实现可参考以下代码

    <div class="bigbox">
        <div class="part part1"></div>
        <div class="part part2"></div>
        <div class="part part3"></div>
        <div class="part bottom"></div>
    </div>
        * {
            margin: 0px;
            padding: 0px;
        }
        body {
            background-color: rgb(255, 255, 255);
        }
        .bigbox {
            position: fixed;
            width: 50px;
            height: 100px;
            top: 100px;
            left: 865px;
            background-color: #bfbfbf;
        }
        .part1 {
            position: absolute;
            width: 50px;
            height: 10px;
            top: -10px;
            left: 0px;
            background-color: black;
        }
        .part2 {
            position: absolute;
            width: 10px;
            height: 100px;
            top: 0px;
            left: 20px;
            background-color: black;
        }
        .part3 {
            position: absolute;
            width: 50px;
            height: 10px;
            top: 100px;
            left: 0px;
            background-color: black;
        }
        .bottom {
            position: absolute;
            width: 40px;
            height: 15px;
            top: 0px;
            left: 5px;
            background-color: red;
        }
        var bottom = document.querySelector('.bottom');
        var bigbox = document.querySelector('.bigbox');
        var body = document.body;
        var flag;
        //按住 按钮 不放时执行
        bottom.onmousedown = function(e) {
            bottom.style.cursor = 'move';
            flag = true;
            var disy = e.pageY - bottom.offsetTop;
            //鼠标在屏幕 任意区域 移动
            document.onmousemove = function(e) {
                // 获取 按钮 与 父级容器 之间的 y方向 的距离
                var y = e.pageY - disy;
                
                if (flag == true) {
                    //成功限制移动区域
                    if (y < 0) { y = 0 };//避免移动至 顶部 外围
                    if (y > 85) { y = 85 };//避免移动至 底部 外围
                    bottom.style.top = y + 'px';//按钮相对父级容器的距离
                    //按钮移动的同时 获取 rgb值
                    r = 255 - y;
                    g = 255 - y;
                    b = 255 - y;
                    backgroundColor = 'rgb'+'('+r+','+g+','+b+')';//利用字符的运算 得到符合规则的 rgb数值对
                    body.style.backgroundColor = backgroundColor;//赋予 body 背景色彩
                }
            }
        };
        document.onmouseup = function() {
            flag = false;
            bottom.style.cursor = 'auto';
        };

———————————————————————————————————————————————————————————

更新:

添加了几行代码,完成如下功能:仅需更改 bigbox 的 height 值 即可使得按钮控制范围增大

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 在原生 HTMLCSS 中,可以使用 JavaScript 定义常量,并在 HTML 中的脚本标签中引用它们。 下面是一个示例,演示如何在 JavaScript 中定义常量,并在 HTML 中的脚本标签中引用它: ``` <!DOCTYPE html> <html> <head> <title>定义常量并在 HTMLJavaScript 中使用</title> </head> <body> <script> // 定义常量 const MY_CONSTANT = 'Hello, World!'; // 在控制台中输出常量 console.log(MY_CONSTANT); </script> </body> </html> ``` 在这个例子中,我们定义了一个名为 `MY_CONSTANT` 的常量,并在脚本标签中使用 `console.log` 输出它。这将在浏览器的控制台中显示 "Hello, World!"。 你可以通过在脚本标签中使用 `MY_CONSTANT` 来引用该常量,如下所示: ``` <!DOCTYPE html> <html> <head> <title>定义常量并在 HTMLJavaScript 中使用</title> </head> <body> <script> // 定义常量 const MY_CONSTANT = 'Hello, World!'; // 在控制台中输出常量 console.log(MY_CONSTANT); // 在 HTML 中使用常量 document.write(MY_CONSTANT); </script> </body> </html> ``` 在这个例子中,我们在脚本标签中使用 `document.write` 输出 `MY_CONSTANT`。这将在 HTML 页面上显示 "Hello, World!"。 ### 回答2: 在原生HTMLCSS技术中,我们可以通过多种方式定义常量,并在HTMLJavaScript中进行引用。 一种常见的方式是使用JavaScript来定义常量,然后在HTML中引用它。我们可以通过在<script>标签内定义一个全局的JavaScript变量来实现这一点。例如,我们可以在HTML文件的<head>部分添加以下代码: ```html <script> const MY_CONSTANT = "这是一个常量"; </script> ``` 在这个例子中,我们定义了一个名为MY_CONSTANT的常量,并将其赋值为"这是一个常量"。在需要使用这个常量的地方,我们可以通过在JavaScript代码中引用它来使用。例如,我们可以在<script>标签中的JavaScript函数中使用MY_CONSTANT: ```html <script> function myFunction() { console.log(MY_CONSTANT); } </script> ``` 当我们调用myFunction函数时,它将在控制台打印出"这是一个常量"。 另一种方式是使用HTML的data属性来定义常量,并通过JavaScript中的getAttribute方法进行引用。我们可以将常量值设置HTML元素的data属性,然后在JavaScript中使用getAttribute方法来获取它。例如,我们可以在一个<div>元素中定义常量: ```html <div id="myDiv" data-my-constant="这是一个常量"></div> ``` 然后,在JavaScript代码中,我们可以使用getAttribute方法来获取这个常量的值: ```html <script> var myConstant = document.getElementById("myDiv").getAttribute("data-my-constant"); console.log(myConstant); </script> ``` 当我们运行这段代码时,它将在控制台打印出"这是一个常量"。 以上是关于如何在原生HTMLCSS技术中单独一个页面定义常量,并在HTMLJavaScript中进行引用的方法。无论是使用全局JavaScript变量还是HTML的data属性,我们都可以轻松地定义常量并在页面中其他地方使用它。 ### 回答3: 在原生HTMLCSS技术中,我们无法直接定义常量。HTMLCSS的主要作用是描述和呈现网页的结构和样式,而不是处理数据的逻辑。然而,我们可以通过在HTML页面的JavaScript部分编代码来模拟常量的效果。 首先,在JavaScript中,我们可以使用`const`关键字创建一个常量。例如,我们想定义一个常量`PI`并赋值为3.14159,可以在JavaScript下以下代码: ```html <script> const PI = 3.14159; </script> ``` 然后,我们可以通过在HTML的其他JavaScript部分引用这个常量。例如,在一个click事件处理函数中,我们可以将常量`PI`的值输出到控制台: ```html <script> function handleClick() { console.log(PI); } </script> <button onclick="handleClick()">点击我</button> ``` 这样,当页面加载时,常量`PI`的值将在JavaScript中被定义并存在,我们可以在其他JavaScript代码中使用它。 需要注意的是,这只是一个常量的模拟实现,在JavaScript中我们仍然可以改变它的值。若要实现真正的常量,可以使用ES6引入的`Object.freeze()`方法。例如,我们可以将上面的示例代码修改如下: ```html <script> const constant = Object.freeze({ PI: 3.14159 }); </script> ``` 现在,常量`PI`将无法被改变,确保了其不会被意外修改。但请注意,这只是一种在原生HTMLCSS技术下模拟常量的方法,如果你需要更复杂的数据处理逻辑,可能需要使用其他工具或框架来实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值