当前位置:首页 > JavaScript

js实现表白

2026-02-02 06:18:12JavaScript

以下是用JavaScript实现表白效果的几种创意方法,结合动画、交互和视觉效果:

js实现表白

基础弹窗表白

alert("我喜欢你!");
confirm("可以做我的男/女朋友吗?") 
  ? alert("❤️ 爱你!") 
  : alert("😭 我会继续努力的!");

页面动态爱心效果

<style>
  .heart {
    position: absolute;
    transform: rotate(45deg);
    background: red;
    animation: beat 1s infinite;
  }
  @keyframes beat {
    0% { transform: rotate(45deg) scale(1); }
    50% { transform: rotate(45deg) scale(1.5); }
  }
</style>
<script>
  function createHeart() {
    const heart = document.createElement('div');
    heart.className = 'heart';
    heart.style.width = '20px';
    heart.style.height = '20px';
    heart.style.left = Math.random() * window.innerWidth + 'px';
    heart.style.top = Math.random() * window.innerHeight + 'px';
    document.body.appendChild(heart);

    setTimeout(() => {
      heart.remove();
    }, 3000);
  }
  setInterval(createHeart, 300);
</script>

打字机效果文字

const message = "我喜欢你很久了...";
let i = 0;
const typing = setInterval(() => {
  document.body.innerHTML += message[i];
  i++;
  if (i >= message.length) clearInterval(typing);
}, 200);

点击生成爱心

document.addEventListener('click', (e) => {
  const heart = document.createElement('div');
  heart.innerHTML = '❤️';
  heart.style.position = 'absolute';
  heart.style.left = e.clientX + 'px';
  heart.style.top = e.clientY + 'px';
  heart.style.fontSize = Math.random() * 30 + 10 + 'px';
  document.body.appendChild(heart);

  setTimeout(() => {
    heart.remove();
  }, 1000);
});

高级版表白页面

<!DOCTYPE html>
<html>
<head>
  <style>
    body {
      background: pink;
      text-align: center;
      padding-top: 100px;
      font-family: Arial;
    }
    #message {
      font-size: 24px;
      margin: 20px;
    }
    button {
      padding: 10px 20px;
      margin: 10px;
      font-size: 18px;
    }
    #yes {
      background: lightgreen;
    }
    #no {
      background: pink;
      position: relative;
    }
  </style>
</head>
<body>
  <h1>我喜欢你!</h1>
  <div id="message">你愿意和我在一起吗?</div>
  <button id="yes">愿意</button>
  <button id="no">不愿意</button>

  <script>
    document.getElementById('yes').addEventListener('click', () => {
      document.getElementById('message').innerHTML = '❤️ 太棒了!我爱你! ❤️';
    });

    document.getElementById('no').addEventListener('mouseover', () => {
      this.style.position = 'absolute';
      this.style.left = Math.random() * window.innerWidth * 0.8 + 'px';
      this.style.top = Math.random() * window.innerHeight * 0.8 + 'px';
    });
  </script>
</body>
</html>

这些代码可以根据需要组合使用或单独实现,效果会随着创意和个性化调整而提升。

标签: js
分享给朋友:

相关文章

js如何实现继承

js如何实现继承

原型链继承 通过将子类的原型指向父类的实例实现继承。子类实例能够访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Parent…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现吸色

js实现吸色

使用Canvas实现吸色功能 通过Canvas的getImageData方法获取像素颜色数据。创建一个Canvas元素,将目标图像绘制到Canvas上,通过鼠标事件获取坐标对应的颜色值。 c…

实现继承js

实现继承js

实现继承的方式 在JavaScript中,实现继承可以通过多种方式完成,每种方式都有其优缺点。以下是几种常见的实现继承的方法: 原型链继承 原型链继承是最基本的继承方式,通过将子类的原型指向父类的实…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…

js实现图片滚动

js实现图片滚动

图片滚动的实现方法 使用CSS动画实现 通过CSS的animation和@keyframes可以实现简单的图片滚动效果。这种方法适合静态图片的无缝循环滚动。 <style> .scr…