当前位置:首页 > JavaScript

js实现对联

2026-04-05 15:23:30JavaScript

实现对联效果(JavaScript)

方法一:使用绝对定位与动态生成

通过JavaScript动态生成对联元素并设置绝对定位,使其固定在页面两侧。

// 创建对联元素
const leftCouplet = document.createElement('div');
leftCouplet.innerHTML = '上联内容';
leftCouplet.style.position = 'fixed';
leftCouplet.style.left = '10px';
leftCouplet.style.top = '50%';
leftCouplet.style.transform = 'translateY(-50%)';

const rightCouplet = document.createElement('div');
rightCouplet.innerHTML = '下联内容';
rightCouplet.style.position = 'fixed';
rightCouplet.style.right = '10px';
rightCouplet.style.top = '50%';
rightCouplet.style.transform = 'translateY(-50%)';

// 添加到页面
document.body.appendChild(leftCouplet);
document.body.appendChild(rightCouplet);

方法二:响应式布局适配

结合CSS媒体查询与JavaScript,实现不同屏幕尺寸下的对联显示优化。

function adjustCouplet() {
    const screenWidth = window.innerWidth;
    if (screenWidth < 768) {
        leftCouplet.style.display = 'none';
        rightCouplet.style.display = 'none';
    } else {
        leftCouplet.style.display = 'block';
        rightCouplet.style.display = 'block';
    }
}

window.addEventListener('resize', adjustCouplet);
adjustCouplet(); // 初始化调用

方法三:添加关闭功能

为对联增加关闭按钮,提升用户体验。

const closeBtnLeft = document.createElement('span');
closeBtnLeft.innerHTML = '×';
closeBtnLeft.style.cursor = 'pointer';
closeBtnLeft.onclick = () => leftCouplet.remove();

const closeBtnRight = document.createElement('span');
closeBtnRight.innerHTML = '×';
closeBtnRight.style.cursor = 'pointer';
closeBtnRight.onclick = () => rightCouplet.remove();

leftCouplet.prepend(closeBtnLeft);
rightCouplet.prepend(closeBtnRight);

方法四:动画效果增强

使用CSS动画或JavaScript实现对联的入场效果。

leftCouplet.style.transition = 'opacity 0.5s, transform 0.5s';
rightCouplet.style.transition = 'opacity 0.5s, transform 0.5s';
leftCouplet.style.opacity = '0';
rightCouplet.style.opacity = '0';

setTimeout(() => {
    leftCouplet.style.opacity = '1';
    rightCouplet.style.opacity = '1';
}, 100);

方法五:内容动态加载

通过API或本地数据动态加载对联内容。

js实现对联

fetch('couplet-api-url')
    .then(response => response.json())
    .then(data => {
        leftCouplet.innerHTML = data.left;
        rightCouplet.innerHTML = data.right;
    });

注意事项

  • 对联内容应考虑文化适配性
  • 移动端需谨慎使用固定定位元素
  • 关闭功能应明确可见
  • 动画效果不宜过于复杂影响性能

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

相关文章

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现dh

js实现dh

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

js实现图

js实现图

JavaScript 实现图的常用方法 在 JavaScript 中,图(Graph)可以通过多种方式实现,常见的包括邻接表(Adjacency List)和邻接矩阵(Adjacency Matrix…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…

js 实现跳转

js 实现跳转

使用 window.location.href 进行跳转 通过修改 window.location.href 可以跳转到指定 URL,浏览器会加载新页面: window.location.hre…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…