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 相关文章推荐
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
setinterval()与clearInterval()JS函数的调用方法
Jan 21 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
原生js三级联动的简单实现代码
Jun 07 Javascript
Javascript 6里的4个新语法
Aug 25 Javascript
JavaScript编码风格指南(中文版)
Aug 26 Javascript
angular基于路由控制ui-router实现系统权限控制
Sep 27 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
如何正确理解vue中的key详解
Nov 02 Javascript
详解ES6中class的实现原理
Oct 03 Javascript
解决vue scoped html样式无效的问题
Oct 24 Javascript
使用原生javascript开发计算器实例代码
Feb 21 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
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP制作万年历
2015/01/07 PHP
带你了解PHP7 性能翻倍的关键
2015/11/19 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
浅谈关于.vue文件中style的scoped属性
2017/08/19 Javascript
对VUE中的对象添加属性
2018/09/18 Javascript
webpack 代码分离优化快速指北
2019/05/18 Javascript
详解Vue.js中引入图片路径的几种方式
2019/06/17 Javascript
浅析TypeScript 命名空间
2020/03/19 Javascript
javascript实现点击产生随机图形
2021/01/25 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
Python中一行和多行import模块问题
2018/04/01 Python
关于python列表增加元素的三种操作方法
2018/08/22 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
用python绘制樱花树
2020/10/09 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
会计实习生自我鉴定
2013/12/12 职场文书
施工协议书范本
2014/04/22 职场文书
校园标语大全
2014/06/19 职场文书
大专生自荐书范文
2014/06/22 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
综合实践活动报告
2015/02/05 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Spring Data JPA框架的核心概念和Repository接口
2022/04/28 Java/Android