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

js实现dh

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

利用js实现

利用js实现

使用 JavaScript 实现 在 JavaScript 中,可以通过多种方式实现功能,具体取决于需求。以下是几种常见的方法: 方法一:使用原生 JavaScript // 示例代码…

js实现显示隐藏

js实现显示隐藏

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

js计算器的实现

js计算器的实现

实现基础结构 HTML部分需要创建计算器的基本框架,包含显示区域和按钮。使用<div>容器包裹整个计算器,内部设置一个显示屏和多个按钮。 <div class="calculato…

js 实现拖拽

js 实现拖拽

实现拖拽的基本步骤 在JavaScript中实现拖拽功能需要监听几个关键事件:mousedown、mousemove和mouseup。以下是实现的基本逻辑。 监听目标元素的mousedown事件,记…

js 实现图片 放大

js 实现图片 放大

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