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 省地市级联选择
Feb 07 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
Mar 18 Javascript
JavaScript中用于生成随机数的Math.random()方法
Jun 15 Javascript
AngularJS模块学习之Anchor Scroll
Jan 19 Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
May 25 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 Javascript
微信小程序内拖动图片实现移动、放大、旋转的方法
Sep 04 Javascript
浅谈Vue.use到底是什么鬼
Jan 21 Javascript
JavaScript之scrollTop、scrollHeight、offsetTop、offsetHeight等属性学习笔记
Jul 15 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
Jan 19 Vue.js
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实现图象锐化代码
2007/06/14 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
JavaScript setTimeout和setInterval的使用方法 说明
2010/03/25 Javascript
JavaScript中使用replace结合正则实现replaceAll的效果
2010/06/04 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
js确认删除对话框适用于a标签及submit
2014/07/10 Javascript
javascript制作2048游戏
2015/03/30 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
vue2里面ref的具体使用方法
2017/10/27 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
pm2启动ssr失败的解决方法
2019/06/29 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python制作Windows系统服务
2017/03/25 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
Python3 合并二叉树的实现
2019/09/30 Python
Python更新所有已安装包的操作
2020/02/13 Python
python实现图像拼接
2020/03/05 Python
Pyqt助手安装PyQt5帮助文档过程图解
2020/11/20 Python
python Xpath语法的使用
2020/11/26 Python
用sleep间隔进行python反爬虫的实例讲解
2020/11/30 Python
python中最小二乘法详细讲解
2021/02/19 Python
CSS3实现多重边框的方法总结
2016/05/31 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
移动通信专业自荐信范文
2013/11/12 职场文书
适用于所有创业者的创业计划书
2014/02/05 职场文书
《独坐敬亭山》教学反思
2014/04/08 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
创业计划书之面包店
2019/09/17 职场文书
Go使用协程交替打印字符
2021/04/29 Golang
python中的mysql数据库LIKE操作符详解
2021/07/01 MySQL
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL