原生JS实现不断变化的标签

发布时间 - 2026-01-11 01:14:20    点击率:

上图为博客右侧截取的GIF图,下图为代码效果

 

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>SlideFont</title>
</head>
<body>
 <div class="F-SlideFont-Box">
  <dl class="F-SlideFont-Box-Tag">
   <dd class="F-SlideFont-Tag">谷歌</dd>
   <dd class="F-SlideFont-Tag">百度</dd>
   <dd class="F-SlideFont-Tag">阿里</dd>
   <dd class="F-SlideFont-Tag">苹果</dd>
   <dd class="F-SlideFont-Tag">三星</dd>
   <dd class="F-SlideFont-Tag">耳机</dd>
   <dd class="F-SlideFont-Tag">音箱</dd>
   <dd class="F-SlideFont-Tag">电视</dd>
   <dd class="F-SlideFont-Tag">谷歌</dd>
   <dd class="F-SlideFont-Tag">百度</dd>
   <dd class="F-SlideFont-Tag">阿里</dd>
  </dl>
 </div>
</body>
</html>

css:

 <style>
  .F-SlideFont-Box * { margin: 0; padding: 0; border: none; list-style: none; }
  .F-SlideFont-Box { width: 300px; height: 300px; border: 1px black solid; position: relative; }
  .F-SlideFont-Box-Tag { width: 90%; height: 90%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; }
  .F-SlideFont-Tag { position: absolute; display: block; padding: 3px 15px; background-color: #0078F7; border-radius: 10%; color: white; transition:all 1s linear; z-index: 0; transition: all .6s; cursor: pointer; }
 </style>

JS:

<script src="js/GlunefishLibrary.js"></script>  // 这里引入的是我发过的随随机数
<script>

 var tagObj = document.getElementsByClassName('F-SlideFont-Tag'),
  offset = true;

 for(var i=0;i<tagObj.length;i++){
  (function(i){
   tagObj[i].onmouseover = function(){
   offset = false;
   index = parseInt(this.style.zIndex);
   this.style.zIndex = 9999;
   }
   tagObj[i].onmouseout = function(){
   offset = true;
   this.style.zIndex = index;
   }
  })(i);
 }

 setInterval(PreSeting,5000)


 function PreSeting(){
  if(offset){
   for(var i=0;i<tagObj.length;i++){
    tagObj[i].style.left = F_getSJS(200,20,10) + 'px';   //F_getSJS() 来自前面引入的 glunefishLibrary.js , 具体请移步到我之前的取随机数随笔
    tagObj[i].style.top = F_getSJS(200,20,10) + 'px';
    tagObj[i].style.backgroundColor = 'rgb(' + F_getSJS(256,-1,5) + ',' + F_getSJS(256,-1,10) + ',' +  F_getSJS(256,-1,15) + ')';
    tagObj[i].style.zIndex = F_getSJS(200,0,16);
   }
  }

 }


</script>

此效果主要通过间隔取两数之间的随机数来改变标签的样式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 标签  # 使用JS或jQuery模拟鼠标点击a标签事件代码  # javascript和jquery修改a标签的href属性  # JSP自定义标签Taglib实现过程重点总结  # php完全过滤HTML 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何快速查询网址的建站时间与历史轨迹?  javascript日期怎么处理_如何格式化输出  微信小程序 canvas开发实例及注意事项  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  Linux系统命令中screen命令详解  想要更高端的建设网站,这些原则一定要坚持!  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  如何登录建站主机?访问步骤全解析  Laravel如何实现用户注册和登录?(Auth脚手架指南)  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  网站制作报价单模板图片,小松挖机官方网站报价?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  用v-html解决Vue.js渲染中html标签不被解析的问题  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  如何在阿里云ECS服务器部署织梦CMS网站?  nginx修改上传文件大小限制的方法  如何快速启动建站代理加盟业务?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  使用spring连接及操作mongodb3.0实例  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何正确选择百度移动适配建站域名?  如何快速辨别茅台真假?关键步骤解析  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何在腾讯云服务器上快速搭建个人网站?  个人摄影网站制作流程,摄影爱好者都去什么网站?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  深圳网站制作的公司有哪些,dido官方网站?  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  java获取注册ip实例  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何用PHP工具快速搭建高效网站?  微信公众帐号开发教程之图文消息全攻略  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Linux网络带宽限制_tc配置实践解析【教程】  Java垃圾回收器的方法和原理总结  北京专业网站制作设计师招聘,北京白云观官方网站?  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel如何实现多对多模型关联?(Eloquent教程)  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理