js实现鼠标点击页面弹出自定义文字效果


Posted in Javascript onDecember 24, 2019

本文实例为大家分享了js鼠标点击页面弹出文字的具体代码,供大家参考,具体内容如下

效果:

js实现鼠标点击页面弹出自定义文字效果

实现代码:

(function(e){
 // 点击事件触发生生元素等一系列动作的初始状态
 var bombFlag = true;
 // body节点
 var elBody = document.getElementsByTagName("body")[0];
 // 初始化文字数组下标
 var a_idx = 0;
 elBody.onclick = function(e) {
 if(bombFlag){
  // 坐标
  var ev = e||event,//  IE浏览器兼容
  x = ev.clientX,
     y = ev.clientY;
   // 随机产生文字颜色
  var color1 = Math.floor((Math.random()*255));
  var color2 = Math.floor((Math.random()*255));
  var color3 = Math.floor((Math.random()*255));
  // 初始化定时器
   var _timer = null;
   // 文字数组
   var a = new Array("乐观", "❤" ,"积极", "向上", "自由", "正能量","(*^?^*)", "元气满满", "开心" ,"快乐", "善良", "可爱", "暴富", "暴瘦","❤");
   // 创建节点
   var elSpan = document.createElement("span");
   // 随机节点内容
   a_idx = (a_idx + 1) % a.length;
   // 添加内容到节点
   elSpan.innerHTML = a[a_idx];
   // 初始节点化样式
   elSpan.style.zIndex = 999;
   elSpan.style.position = "fixed";
   elSpan.style.top = y -20 + "px",
   elSpan.style.left = x -10 + "px";
   elSpan.style.color = 'rgb('+color1+','+color2+','+color3+')';
   elSpan.style.fontWeight = "bold";
   elSpan.className = "floatSpan";
   // 将元素追加到body中
   elBody.appendChild(elSpan);
   // 获取追加后的节点
   var el = document.getElementsByClassName("floatSpan")[0];
   // 初始化需要渐变的变量值
   // top值
   var cur_y = y - 20;
   // 透明度
   var cur_opacity = 1;
   // 字体大小
   var cur_fontSize = 14;
   // 创建定时器
   _timer = setInterval(function(){
    // 渐变变量
    cur_y += -10;
    cur_opacity -= 0.1;
    cur_fontSize += 1;
    // 渐变变量赋值(因为有单位的关系 所以不能直接加减 通过中间变量来赋值)
    el.style.top = cur_y + "px";
    el.style.opacity = cur_opacity;
    el.style.fontSize = cur_fontSize + "px";
   },50);
   // 时间到了之后清空定时器 清除刚才添加的元素 并且恢复点击触发事件
   setTimeout(function(){
    clearInterval(_timer);
    elBody.removeChild(el);
    bombFlag = true;
   },500);
 }
 // 暂停点击触发事件
   bombFlag = false;
 };
})();

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

Javascript 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
JavaScript 学习笔记(四)
Dec 31 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
js处理自己不能定义二维数组的方法详解
Mar 03 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
Dec 03 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
Vue 进入/离开动画效果
Dec 26 Javascript
vue单页缓存方案分析及实现
Sep 25 Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 Javascript
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
vue使用axios实现excel文件下载的功能
Jul 16 Javascript
javascript实现鼠标点击生成文字特效
Dec 24 #Javascript
Javascript实现鼠标点击冒泡特效
Dec 24 #Javascript
javascript实现点击星星小游戏
Dec 24 #Javascript
JS实现小星星特效
Dec 24 #Javascript
JS实现星星海特效
Dec 24 #Javascript
JS实现图片切换特效
Dec 23 #Javascript
JS实现简易留言板特效
Dec 23 #Javascript
You might like
从零开始 教你如何搭建Discuz!4.1论坛
2006/07/07 PHP
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
队列在编程中的实际应用(php)
2010/09/04 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
JavaScript中的闭包(Closure)详细介绍
2014/12/30 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
vue.js指令v-for使用及索引获取
2016/11/03 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
详解jQuery获取特殊属性的值以及设置内容
2018/11/14 jQuery
关于js陀螺仪的理解分析
2019/04/11 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python字符串的拼接方法总结
2019/11/18 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
Python实现EM算法实例代码
2020/10/04 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
详解HTML5中的元素与元素
2015/08/17 HTML / CSS
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
护士实习自我鉴定
2013/10/22 职场文书
大学毕业生自我鉴定范文
2019/06/21 职场文书
2019年公司卫生管理制度样本
2019/08/21 职场文书
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电