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


Posted in Javascript onMay 22, 2017

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

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

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

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>

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

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

Javascript 相关文章推荐
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
标题过长使用javascript按字节截取字符串
Apr 24 Javascript
原生JS实现响应式瀑布流布局
Apr 02 Javascript
移动端JQ插件hammer使用详解
Jul 03 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
Jan 26 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
Sep 17 Javascript
JavaScript prototype属性详解
Oct 25 Javascript
文件上传,iframe跨域数据提交的实现
Nov 18 Javascript
微信小程序canvas写字板效果及实例
Jun 15 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
Jul 13 Javascript
jQuery实现简单弹幕制作
Dec 10 jQuery
jQuery实现简单的滑动导航代码(移动端)
May 22 #jQuery
vue2.0 与 bootstrap datetimepicker的结合使用实例
May 22 #Javascript
Vue实现动态显示textarea剩余字数
May 22 #Javascript
bootstrap栅格系统示例代码分享
May 22 #Javascript
vue+axios实现登录拦截的实例代码
May 22 #Javascript
详解Angular2 关于*ngFor 嵌套循环
May 22 #Javascript
bootstrap模态框远程示例代码分享
May 22 #Javascript
You might like
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
PHP 5.0 Pear安装方法
2006/12/06 PHP
php 需要掌握的东西 不做浮躁的人
2009/12/28 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
PHP对象相互引用的内存溢出实例分析
2014/08/28 PHP
Laravel搭建后台登录系统步骤详解
2016/07/26 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Prototype Object对象 学习
2009/07/12 Javascript
jQuery setTimeout()函数使用方法
2013/04/07 Javascript
使用jQuery的attr方法来修改onclick值
2014/07/07 Javascript
js+css3实现旋转效果
2017/01/20 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
解决vue热替换失效的根本原因
2018/09/19 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
微信小程序封装自定义弹窗的实现代码
2019/05/08 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
python中遍历文件的3个方法
2014/09/02 Python
基于python实现百度翻译功能
2019/05/09 Python
python把ipynb文件转换成pdf文件过程详解
2019/07/09 Python
python openvc 裁剪、剪切图片 提取图片的行和列
2019/09/19 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
PyTorch中topk函数的用法详解
2020/01/02 Python
python 爬取马蜂窝景点翻页文字评论的实现
2020/01/20 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
Dune London官网:英国著名奢华鞋履品牌
2017/11/30 全球购物
Linux不知道文件后缀名怎么判断文件类型
2014/08/21 面试题
小学生班会演讲稿
2014/01/09 职场文书
爱情检讨书大全
2014/01/21 职场文书
客服部班长工作责任制
2014/02/25 职场文书
公司应聘自荐书
2014/06/14 职场文书
庆六一文艺汇演活动方案
2014/08/26 职场文书
2014年保卫科工作总结
2014/12/05 职场文书
在vue中import()语法不能传入变量的问题及解决
2022/04/01 Vue.js
nginx配置之并发频次限制
2022/04/18 Servers