返回

HTML + CSS + JS 轻松实现抖音小空调特效:酷炫清新,吸睛利器!

前端

使用抖音特效的优点

  • 易于实现:这个特效只需要简单的 HTML、CSS 和 JavaScript 即可实现,非常适合初学者。
  • 创意动画:该特效利用CSS的动画效果,让一个小空调模型在网页上以清新自然的风格运动。
  • 视觉交互:当用户滚动页面或将鼠标悬停在小空调模型上时,它会做出相应的反应,增强了用户的参与度。
  • 网页设计:该特效可以轻松地集成到网页设计中,为您的网站或博客增添趣味性和互动性。

准备工作

在开始之前,您需要确保您已经安装了最新的 HTML、CSS 和 JavaScript 开发工具,例如 Visual Studio Code 或 Atom。您还需要一个文本编辑器来编写代码。

HTML 代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <link rel="stylesheet" href="style.css">
  <script src="script.js"></script>
</head>
<body>
  <div class="air-conditioner">
    <div class="air-conditioner-body">
      <div class="air-conditioner-display">
        <div class="air-conditioner-temperature">25°C</div>
        <div class="air-conditioner-mode">制冷</div>
      </div>
      <div class="air-conditioner-buttons">
        <button class="air-conditioner-power">电源</button>
        <button class="air-conditioner-temperature-up">+</button>
        <button class="air-conditioner-temperature-down">-</button>
      </div>
    </div>
    <div class="air-conditioner-fan">
      <div class="air-conditioner-fan-blades"></div>
    </div>
  </div>

</body>
</html>

CSS 代码

/* 重置样式 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* 空调样式 */
.air-conditioner {
  width: 300px;
  height: 200px;
  background-color: #ffffff;
  border: 1px solid #000000;
  border-radius: 5px;
  box-shadow: 0px 5px 10px #000000;
}

/* 空调主体样式 */
.air-conditioner-body {
  width: 100%;
  height: 150px;
  background-color: #ffffff;
}

/* 空调显示屏样式 */
.air-conditioner-display {
  width: 100%;
  height: 50px;
  background-color: #000000;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* 空调温度样式 */
.air-conditioner-temperature {
  font-size: 24px;
  font-weight: bold;
}

/* 空调模式样式 */
.air-conditioner-mode {
  font-size: 16px;
}

/* 空调按钮样式 */
.air-conditioner-buttons {
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: space-around;
  align-items: center;
}

/* 空调电源按钮样式 */
.air-conditioner-power {
  width: 50px;
  height: 50px;
  background-color: #000000;
  color: #ffffff;
  border: 1px solid #ffffff;
  border-radius: 5px;
}

/* 空调温度加减按钮样式 */
.air-conditioner-temperature-up,
.air-conditioner-temperature-down {
  width: 50px;
  height: 50px;
  background-color: #ffffff;
  color: #000000;
  border: 1px solid #000000;
  border-radius: 5px;
}

/* 空调风扇样式 */
.air-conditioner-fan {
  width: 100%;
  height: 50px;
  background-color: #000000;
}

/* 空调风扇叶片样式 */
.air-conditioner-fan-blades {
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  animation: spin 2s linear infinite;
}

/* 空调风扇叶片动画 */
@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

JavaScript 代码

// 获取元素
const airConditioner = document.querySelector('.air-conditioner');
const airConditionerDisplay = document.querySelector('.air-conditioner-display');
const airConditionerTemperature = document.querySelector('.air-conditioner-temperature');
const airConditionerMode = document.querySelector('.air-conditioner-mode');
const airConditionerPower = document.querySelector('.air-conditioner-power');
const airConditionerTemperatureUp = document.querySelector('.air-conditioner-temperature-up');
const airConditionerTemperatureDown = document.querySelector('.air-conditioner-temperature-down');

// 初始化变量
let temperature = 25;
let mode = '制冷';
let power = false;

// 添加事件监听器
airConditionerPower.addEventListener('click', () => {
  power = !power;
  if (power) {
    airConditioner.classList.add('air-conditioner-on');
  } else {
    airConditioner.classList.remove('air-conditioner-on');
  }
});

airConditionerTemperatureUp.addEventListener('click', () => {
  if (temperature < 30) {
    temperature++;
    airConditionerTemperature.innerHTML = `${temperature}°C`;
  }
});

airConditionerTemperatureDown.addEventListener('click', () => {
  if (temperature > 16) {
    temperature--;
    airConditionerTemperature.innerHTML = `${temperature}°C`;
  }
});

// 更新显示屏内容
const updateDisplay = () => {
  airConditionerTemperature.innerHTML = `${temperature}°C`;
  airConditionerMode.innerHTML = mode;
};

// 主循环
const mainLoop = () => {
  if (power) {
    updateDisplay();
  }

  requestAnimationFrame(mainLoop);
};

// 启动主循环
mainLoop();

结束语

通过以上步骤,我们就可以使用 HTML、CSS 和 JavaScript 来轻松实现抖音上流行的小空调特效。您可以根据自己的喜好调整特效的颜色、大小和位置,也可以添加更多的交互效果。希望本文对您有所帮助!