当前位置:首页 > JavaScript

js实现骷髅

2026-02-01 22:13:40JavaScript

实现骷髅效果的方法

使用CSS和JavaScript可以在网页上创建骷髅效果。以下是几种常见的实现方式:

使用CSS动画

通过CSS的@keyframes定义骷髅骨架的动画效果:

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

使用JavaScript动态生成

通过JavaScript动态创建骨架屏元素:

function createSkeleton() {
  const skeleton = document.createElement('div');
  skeleton.className = 'skeleton';
  skeleton.style.width = '100%';
  skeleton.style.height = '20px';
  skeleton.style.margin = '10px 0';
  return skeleton;
}

document.querySelector('.container').appendChild(createSkeleton());

结合CSS变量

使用CSS变量控制骨架屏的样式,便于统一管理:

:root {
  --skeleton-color: #f0f0f0;
  --skeleton-highlight: #e0e0e0;
}

.skeleton {
  background: linear-gradient(
    90deg,
    var(--skeleton-color) 25%,
    var(--skeleton-highlight) 50%,
    var(--skeleton-color) 75%
  );
}

响应式骨架屏

根据内容动态调整骨架屏的大小:

function responsiveSkeleton(element) {
  const rect = element.getBoundingClientRect();
  const skeleton = createSkeleton();
  skeleton.style.width = `${rect.width}px`;
  skeleton.style.height = `${rect.height}px`;
  return skeleton;
}

移除骨架屏

当内容加载完成后移除骨架效果:

function removeSkeleton() {
  const skeletons = document.querySelectorAll('.skeleton');
  skeletons.forEach(skeleton => skeleton.remove());
}

// 模拟内容加载
setTimeout(removeSkeleton, 2000);

优化性能

对于大量骨架屏元素,使用文档片段减少DOM操作:

js实现骷髅

function createMultipleSkeletons(count) {
  const fragment = document.createDocumentFragment();
  for (let i = 0; i < count; i++) {
    fragment.appendChild(createSkeleton());
  }
  document.querySelector('.container').appendChild(fragment);
}

这些方法可以根据实际需求组合使用,创建出适合项目的骨架屏效果。

标签: 骷髅js
分享给朋友:

相关文章

js防抖和节流实现

js防抖和节流实现

防抖(Debounce)的实现 防抖的核心思想是在事件被触发后,延迟执行回调函数。如果在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口大小调整等场景。 function debounce…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

jquery js

jquery js

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

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…

js实现目录

js实现目录

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