当前位置:首页 > 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实现vue

js实现vue

Vue.js 的基本实现方法 在 JavaScript 中实现 Vue.js 的功能,可以通过直接引入 Vue 库或使用现代构建工具(如 Vite 或 Webpack)。以下是几种常见的实现方式:…

js手势实现

js手势实现

手势识别实现方法 在JavaScript中实现手势识别通常涉及监听触摸事件(touchstart、touchmove、touchend)或鼠标事件(mousedown、mousemove、mouseu…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…

js 实现图片 放大

js 实现图片 放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性可以实现图片的平滑放大效果。结合 JavaScript 监听鼠标事件控制放大状态: con…

js实现导航菜单

js实现导航菜单

使用HTML和CSS创建基础结构 导航菜单的基础结构通常由HTML的无序列表(<ul>)和列表项(<li>)组成,每个列表项包含一个链接(<a>)。CSS用于样式化…