昨天刚申请成功JS权限,心血来潮想添加点东西,记得之前看到别人家博客首页点击鼠标的时候会出现炫酷的 “小心心”,自己也来搞一个。没有用jquery啥的框架,原生js写起来麻烦了点,不过主要是怕博客首页加载不进去jquery所以先这么着试试,意料之中没有问题。

  毕竟刚开始给自己博客添加JS才疏学浅,有更好的方法添加更炫酷的动态效果可以分享给我呀。有大神给指点指点那就更多谢啦。欢迎指正错误~

  效果如下:

话不多说了,先添加css代码,主要是用来画“小心心”的:

  1. body {position: relative;}
  2. .img {width: 20px;height: 20px;opacity: 1;position: absolute;z-index: 100000;transition: 1s;}
  3. .left,.right {width: 10px;height: 10px;border-radius: 100%;position: absolute;}
  4. .right {right: 0;}
  5. .under {width: 10px;height: 10px;position: absolute;top: 5px;left: 5px;transform: rotate(45deg)}
  6. .text {width: 50px;font-size: 10px;line-height: 1;position: absolute;top: -1em;left: -15px;text-align: center;}

啰嗦几句,我添加在页面定制css代码 那个文本框里面没有生效,于是乎干脆在侧边栏公告代码 中添加style标签后添加css就好了:

  1. <style>
  2. body{
  3. position:relative;
  4. }
  5. .img {width: 20px;height: 20px;opacity:;position: absolute;z-index:;transition: 1s;}
  6. .left,.right {width: 10px;height: 10px;border-radius: 100%;position: absolute;}
  7. .right {right:;}
  8. .under {width: 10px;height: 10px;position: absolute;top: 5px;left: 5px;transform: rotate(45deg)}
  9. .text {width: 50px;font-size: 10px;line-height:;position: absolute;top: -1em;left: -15px;text-align: center;}
  10. </style>
  11. <script>

接下来是js:

  1. <script>
  2. // 点击出的文字数组,可自行添加,不要太多哦
  3. text = ["你好呀~", "点我呀~", "啦啦啦~", "哎呀呀~", "求关注~", "帅哥美女~", "哦~", "咦~"];
  4. // 计数
  5. var count = 0;
  6. // 鼠标按下事件
  7. document.body.onmousedown = function (e) {
  8. // 获取鼠标点击位置
  9. var x = event.pageX - 18;
  10. var y = event.pageY - 30;
  11. // 分别创建所需要的元素节点
  12. var img = document.createElement("div");
  13. var left = document.createElement("div");
  14. var right = document.createElement("div");
  15. var under = document.createElement("div");
  16. var txt = document.createElement("div");
  17. // 通过随机数从文字数组中获取随机下标的文字
  18. var textNode = document.createTextNode(text[parseInt(Math.random() * text.length)]);
  19. // 文字添加到txt节点中
  20. txt.appendChild(textNode);
  21.  
  22. img.className = "img" + " " + "img" + count;
  23. left.className = "left";
  24. right.className = "right";
  25. under.className = "under";
  26. txt.className = "text";
  27. img.style.top = y + "px";
  28. img.style.left = x + "px";
  29. // 将创建的元素添加到容器中
  30. img.appendChild(left);
  31. img.appendChild(right);
  32. img.appendChild(under);
  33. img.appendChild(txt);
  34. document.body.appendChild(img);
  35. // 获取随机颜色
  36. var color = "rgb(" + parseInt(Math.random() * 255) + "," + parseInt(Math.random() * 255) + "," +
  37. parseInt(Math.random() * 255) + ")";
  38. txt.style.color=color;
  39. for (var i = 0; i < 3; i++) {
  40. img.children[i].style.background = color;
  41. }
  42. }
  43. // 鼠标抬起事件
  44. document.body.onmouseup = function () {
  45. document.getElementsByClassName("img" + count)[0].style.transform = "scale(0.5)";
  46. document.getElementsByClassName("img" + count)[0].style.transform = "translateY(-40px)";
  47. document.getElementsByClassName("img" + count)[0].style.opacity = "0";
  48. count++;
  49. }
  50. </script>

到这就没了,不过等下,想添加这些东西在你的博客首页上生效,你得先申请博客园的js权限呀 = =

原生js添加博客点击鼠标出小心心效果~~的更多相关文章

  1. 原生js的博客

    原生js一里边还有很多二三等http://www.cnblogs.com/charling/p/3527561.html 选区器 http://wenku.baidu.com/link?url=zr2 ...

  2. 用JS制作博客页面背景随滚动渐变的效果

    今天颓了一会,用JavaScript给我的博客园博客写了一个页面背景随滚动而渐变的效果,做完之后自我感觉良好-- 下面就以我的博客园博客为例,介绍一下如何制作这个效果! 准备 [x] 申请博客园的JS ...

  3. 16 ~ express ~ 添加博客分类

    一,创建表结构  /schemas/categories.js var mongoose = require('mongoose')   module.exports = new mongoose.S ...

  4. 原生js添加和删除类

    原生js添加和删除类: this.className +=" "; this.className = this.className.replace(" 原来的类" ...

  5. 转 原生js canvas实现苹果电脑mac OS窗口最小化效果

    http://www.17sucai.com/pins/demo-show?id=2459 http://www.17sucai.com/pins/demo-show?id=2458  很多资料 ,前 ...

  6. 基于jQuery鼠标点击弹出登陆框效果

    基于jQuery鼠标点击弹出登陆框效果.这是一款扁平样式风格的jQuery弹出层登陆框特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <input type=" ...

  7. 点击弹出 +1放大效果 -- jQuery插件

    20140110更新: <!doctype html> <html> <head> <meta charset="UTF-8"> & ...

  8. 【轮子狂魔】手把手教你用JS给博客动态增加目录 - 超级懒人版

    动态显示目录的作用 不用每次写博客的时候繁琐的人工整理目录,又可以动态浮动在右下角,方便快速跳到感兴趣的位置同时也可以快速的对文章内容有一个大概的了解. 实现原理 首先根据个人喜好,我习惯了用 h1 ...

  9. 在阿里云ECS CentOS7上部署基于MongoDB+Node.js的博客

    前言:这是一篇教你如何在阿里云的ECS CentOS 7服务器上搭建一个个人博客的教程,教程比较基础,笔者尽可能比较详细的把每一步都罗列下来,包括所需软件的下载安装和域名的绑定,笔者在此之前对Linu ...

随机推荐

  1. Security+高分考过经验分享812分

    Security +也是无意中从谷安的宣传单知道的,本来就是想从事安全的行业,而且Security +含金量高,是国际认可的认证就想着去考一考试试. 大概从2018.12开始正式准备的,前面时间都是停 ...

  2. MUI框架 按钮点击响应不好的问题解决办法

    MUI框架 按钮点击响应不好的问题 实际例子: $(function (){ mui(document.body).on('tap', '.bindchk', function(e) { //触发一次 ...

  3. NGINX+PHP配置

    NGINX做为WEB服务器,运行PHP开发的程序和页面: server { listen 80; listen 443 ssl; ssl_certificate /usr/local/nginx/co ...

  4. rocketmq 启动和停止命令

    A启动server: nohup sh mqnamesrv &A启动broken: nohup sh mqbroker -c /opt/rocketmq432/conf/2m-noslave/ ...

  5. linux下实用的快速随机生成复杂密码

    linux下实用的快速随机生成复杂密码 [root@test.db-audit.1 ~]# </dev/urandom tr -dc '1234567890!@#$%abcdefghigklmn ...

  6. [转载]Yacc 与 Lex 快速入门

    https://www.ibm.com/developerworks/cn/linux/sdk/lex/index.html

  7. Linux 定时运行设置

    脚本设置位置: /etc/cron.d SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root # 每个小时的01分钟执行这个脚本 ...

  8. mysql—常用查询语句总结

    关于MySQL常用的查询语句 一查询数值型数据: ; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM ...

  9. 基本DFS与BFS算法(C++实现)

    样图: DFS:深度优先搜索,是一个不断探查和回溯的过程,每探查一步就将该步访问位置为true,接着在该点所有邻接节点中,找出尚未访问过的一个,将其作为下个探查的目标,接着对这个目标进行相同的操作,直 ...

  10. Java 实现TCP/IP协议的收发数据(服务端)

    功能如下: 注: 只有服务端,没有客户端,测试时采用第三方软件作为客户端的. 收发数据目前能正常收发数据,只是中文的会变成乱码显示. 采用Thread类实现一个收发数据的线程. 服务端代码: impo ...