js实现鼠标点击飘爱心效果


Posted in Javascript onAugust 19, 2020

本文实例为大家分享了js实现鼠标点击飘爱心的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>鼠标点击特效</title>
 <link rel="stylesheet" href="https://at.alicdn.com/t/font_1743249_grf4shm1g3t.css" >
 <style>
  html {
   cursor: pointer;
  }

  h3 {
   text-align: center;
   user-select: none;
  }

  .div-box {
   width: 30px;
   height: 30px;
   font-size: 30px;
   position: absolute;
  }
 </style>
</head>

<body>
 <h3>请点击屏幕查看效果</h3>
 <script>
  window.onclick = function (e) {
   //存储需要的颜色
   let arr = ["red", "yellow", "green", "pink", "blue", "purple", "orangered"];
   //随机产生一个颜色
   let heartNum = Math.floor(Math.random() * arr.length);
   let div = document.createElement("div");
   div.setAttribute("class", "iconfont iconzan div-box");
   div.style.color = arr[heartNum];
   document.body.appendChild(div);
   //获得鼠标的x,y轴的位置,并减去自身宽高的一半,使其能够在爱心的正中心
   let x = e.pageX - div.offsetWidth / 2;
   let y = e.pageY - div.offsetHeight / 2;
   div.style.left = x + "px";
   div.style.top = y + "px";
   //获得0-1的整数
   let num = Math.round(Math.random());
   let timer = setInterval(() => {
    y -= 10;
    if (num === 0) x -= 10;
    else x += 10;
    div.style.left = x + "px";
    div.style.top = y + "px";
    //如果超出屏幕范围,则删除此节点
    if (y < -100) {
     clearInterval(timer);
     div.remove();
    }
   }, 100);
  }
 </script>
</body>

</html>

效果图如下

js实现鼠标点击飘爱心效果

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

Javascript 相关文章推荐
jquery ready()的几种实现方法小结
Jun 18 Javascript
对xmlHttp对象方法和属性的理解
Jan 17 Javascript
Jquery中Ajax 缓存带来的影响的解决方法
May 19 Javascript
Js注册协议倒计时的小例子
Jun 24 Javascript
jqgrid 编辑添加功能详细解析
Nov 08 Javascript
canvas简单快速的实现知乎登录页背景效果
May 08 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
浅谈Angular路由守卫
Aug 26 Javascript
Bootstrap 树控件使用经验分享(图文解说)
Nov 06 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
Vue.js自定义指令学习使用详解
Oct 19 Javascript
Vue环境搭建+VSCode+Win10的详细教程
Aug 19 #Javascript
Vue实现导航栏菜单
Aug 19 #Javascript
vue实现tab栏点击高亮效果
Aug 19 #Javascript
封装Vue Element的table表格组件的示例详解
Aug 19 #Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 #Javascript
Vue实现点击导航栏当前标签后变色功能
Aug 19 #Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
Aug 19 #Javascript
You might like
PHP生成HTML静态页面实例代码
2008/08/31 PHP
通俗易懂的php防注入代码
2010/04/07 PHP
Yii 快速,安全,专业的PHP框架
2014/09/03 PHP
分享3个php获取日历的函数
2015/09/25 PHP
为你总结一些php系统类函数
2015/10/21 PHP
几款极品的javascript压缩混淆工具
2007/05/16 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
Javascript的比较汇总
2016/07/25 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
Vue中插入HTML代码的方法
2018/09/21 Javascript
vue--vuex详解
2019/04/15 Javascript
理解Python中的With语句
2015/02/02 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
python实现画一颗树和一片森林
2018/06/25 Python
使用Python将Mysql的查询数据导出到文件的方法
2019/02/25 Python
Python3内置模块random随机方法小结
2019/07/13 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
使用Python对Dicom文件进行读取与写入的实现
2020/04/20 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
H&M旗下高端女装品牌:& Other Stories
2018/05/07 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
个人作风剖析材料
2014/02/02 职场文书
家教广告词
2014/03/19 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
个人融资协议书
2014/10/02 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
解除施工合同协议书
2014/10/17 职场文书
因身体原因离职的辞职信范文
2015/05/12 职场文书
2019最新版试用期劳动合同模板!
2019/07/04 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
MySQL实现配置主从复制项目实践
2022/03/31 MySQL