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 相关文章推荐
IE6/7/8中Option元素未设value时Select将获取空字符串
Apr 07 Javascript
通过jQuery源码学习javascript(三)
Dec 27 Javascript
JavaScript截取、切割字符串的技巧
Jan 07 Javascript
使用Curl命令查看请求响应时间方法
Nov 04 Javascript
JavaScript运动框架 多值运动(四)
May 18 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
Jul 14 Javascript
使用JavaScript进行表单校验功能
Aug 01 Javascript
详解Vue微信公众号开发踩坑全记录
Aug 21 Javascript
通过button将form表单的数据提交到action层的实例
Sep 08 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
JS实现的点击按钮图片上下滚动效果示例
Jan 28 Javascript
详解vue 组件的实现原理
Nov 12 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
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
浅谈discuz密码加密的方式
2014/05/22 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
2016/01/15 PHP
基于jquery的无刷新分页技术
2011/06/11 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
js面向对象 多种创建对象方法小结
2012/05/21 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
JavaScript的setAttribute兼容性问题解决方法
2013/11/11 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
jQuery控制Div拖拽效果完整实例分析
2015/04/15 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
2015/12/04 Javascript
javascript每日必学之封装
2016/02/23 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
JSON中key动态设置及JSON.parse和JSON.stringify()的区别
2016/12/29 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
vue-loader教程介绍
2017/06/14 Javascript
JavaScript对象_动力节点Java学院整理
2017/06/23 Javascript
BetterScroll 在移动端滚动场景的应用
2017/09/18 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
vue结合el-upload实现腾讯云视频上传功能
2020/07/01 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
Python设计模式之观察者模式实例
2014/04/26 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
想学python 这5本书籍你必看!
2018/12/11 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
python实现本地批量ping多个IP的方法示例
2019/08/07 Python
Django实现基于类的分页功能
2019/10/31 Python
专升本自我鉴定
2013/10/10 职场文书
业务代表的岗位职责
2013/11/16 职场文书
文明风采获奖感言
2014/02/18 职场文书
详解Nginx 工作原理
2021/03/31 Servers