当前位置: 首页 > article >正文

js手撕 | 使用css画一个三角形 使用js修改元素样式 驼峰格式与“-”格式相互转化

1.使用css画一个三角形

  • 借助 border 实现,在 width 和 height 都为 0 时,设置 border,便会呈现三角形。想要哪个方向的三角形,设置其他三边为 透明即可。
  • 同时,可以通过调整不同边的宽度,来调整三角形的高度和宽度。
<style>
  .box1 {
    width: 0;
    height: 0;
    content: '';
    border-right: 100px solid black;
    border-left: 100px solid transparent;
    border-top: 100px solid transparent;
    border-bottom: 100px solid transparent;
  }
</style>

<body>
  <div class="box1"></div>
</body>

效果如下:
在这里插入图片描述

2. 如何使用js来实现:鼠标移入时修改元素的样式

法一:使用addEventListener

element = document.getElementById("box");

element.addEventListener("mouseenter",()=>{
  element.style.backgroundColor = "pink";
  element.style.border = "1px solid black";
})
element.addEventListener("mouseleave",()=>{
  element.style.backgroundColor = "";
  element.style.border = "1px red solid";
})
// 单击事件
element.addEventListener("click", () => {
  alert("元素被单击了!");
});

法二:直接设置 onmouseenter 和 onmouseleave 属性

element = document.getElementById("box");

element.onmouseenter = function () {
  this.style.backgroundColor = "lightblue";
  this.style.color = "white";
};

element.onmouseleave = function () {
  this.style.backgroundColor = "";
  this.style.color = "";
};

3. 驼峰格式与“-”格式相互转化

3.1 “-”格式转化为驼峰格式

let str = "hello-world";
function fun(str){
  let temp = str.split('-');
  for(let i=1;i<temp.length;i++){
    let s = [...temp[i]];
    s[0] = s[0].toUpperCase();
    temp[i] = s.join("");
  }
  return temp.join("");
}
console.log(fun(str))   // helloWorld

3.2 驼峰格式转换为“-”格式

let str = "helloWorld";
function fun(str){
  let res = [];
  for(let i of str){
    if(i===i.toUpperCase()){
      res.push("-");
      res.push(i.toLowerCase());
    }else{
      res.push(i)
    }
  }
  return res.join("")
}
console.log(fun(str))    // hello-world

http://www.kler.cn/a/522436.html

相关文章:

  • 关于opencv环境搭建问题:由于找不到opencv_worldXXX.dll,无法执行代码,重新安装程序可能会解决此问题
  • vulfocus/thinkphp:6.0.12 命令执行
  • 58.界面参数传递给Command C#例子 WPF例子
  • 二叉树-堆(补充)
  • lightweight-charts-python 包 更新 lightweight-charts.js 的方法
  • 【数据结构】_顺序表经典算法OJ(力扣版)
  • QT交叉编译环境搭建(Cmake和qmake)
  • MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch
  • 【深度学习】常见模型-自编码器(Autoencoder, AE)
  • python -m pip和pip的主要区别
  • 亚博microros小车-原生ubuntu支持系列:14雷达跟踪与雷达守卫
  • CAN波特率匹配
  • OPPO自研DataFlow架构与实践
  • RHEL封闭环境部署zabbix
  • 【数据资产】数据资产管理概述
  • Workerman和Swoole有什么区别
  • Verilog中if语句和case语句综合出的电路区别
  • RabbitMQ 多种安装模式
  • 【信息系统项目管理师-选择真题】2013下半年综合知识答案和详解
  • 基于Springboot + vue实现的洗衣店订单管理系统
  • 2025年01月27日Github流行趋势
  • MySQL 日志:undo log、redo log、binlog 概述
  • java基础——专题一 《面向对象之前需要掌握的知识》
  • 一文大白话讲清楚webpack基本使用——18——HappyPack
  • react页面定时器调用一组多个接口,如果接口请求返回令牌失效,清除定时器不再触发这一组请求
  • 【浏览器 - Chrome调试模式,如何输出浏览器中的更多信息】