当前位置:首页 > JavaScript

js实现对联

2026-01-31 23:04:59JavaScript

使用JavaScript实现对联效果

实现网页对联广告或装饰效果的核心思路是通过CSS定位和JavaScript动态调整元素位置。以下是具体实现方法:

js实现对联

基础HTML结构

<div class="couplet left">上联内容</div>
<div class="couplet right">下联内容</div>

CSS样式设置

.couplet {
  position: fixed;
  top: 50%;
  width: 100px;
  padding: 10px;
  background-color: #c00;
  color: gold;
  font-size: 20px;
  text-align: center;
  transform: translateY(-50%);
  z-index: 9999;
}
.left {
  left: 0;
}
.right {
  right: 0;
}

JavaScript动态调整

window.addEventListener('scroll', function() {
  const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
  const couplets = document.querySelectorAll('.couplet');

  couplets.forEach(couplet => {
    couplet.style.top = 50 + scrollTop * 0.1 + '%';
  });
});

高级实现方案

响应式处理

js实现对联

function initCouplet() {
  const windowHeight = window.innerHeight;
  const coupletHeight = 200; // 对联元素高度

  document.querySelectorAll('.couplet').forEach(couplet => {
    couplet.style.top = Math.max(0, (windowHeight - coupletHeight) / 2) + 'px';
  });
}

window.addEventListener('resize', initCouplet);
initCouplet();

动画效果增强

.couplet {
  transition: top 0.3s ease-out;
  box-shadow: 0 0 10px rgba(0,0,0,0.5);
  border-radius: 5px;
}

关闭功能实现

document.querySelectorAll('.couplet').forEach(couplet => {
  const closeBtn = document.createElement('span');
  closeBtn.innerHTML = '×';
  closeBtn.style.position = 'absolute';
  closeBtn.style.right = '5px';
  closeBtn.style.top = '5px';
  closeBtn.style.cursor = 'pointer';

  closeBtn.addEventListener('click', function() {
    couplet.style.display = 'none';
  });

  couplet.appendChild(closeBtn);
});

注意事项

  • 对联元素应使用position: fixed确保始终可见
  • z-index值要设置足够高避免被其他元素覆盖
  • 移动端需要考虑视口宽度,可能需要调整样式
  • 内容更新可以通过JavaScript动态修改元素innerHTML

这种实现方式兼容主流浏览器,可以通过修改CSS自定义样式风格,JavaScript部分控制交互行为和位置调整。

标签: 对联js
分享给朋友:

相关文章

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…

js实现上传图片

js实现上传图片

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