feat: clickLove

This commit is contained in:
shenyu 2020-03-30 19:55:19 +08:00
parent 6fbda2ece3
commit 6557b6a34c
4 changed files with 11 additions and 1 deletions

View File

@ -156,6 +156,9 @@ rss: /atom.xml
# DarkMode
darkmode: true
# ClickLove
clickLove: false
# articleWidth and sidebarWidth
layout:
article_width: 80rem

View File

@ -93,6 +93,9 @@ rss: /atom.xml
# 是否启用黑夜模式开关
darkmode: true
# 页面点击小红心(开启请设置为true)
clickLove: false
# 页面宽度自定义不建议修改可能造成布局混乱article_width文章宽度sidebar_width侧边栏宽度
layout:
article_width: 80rem

View File

@ -57,3 +57,6 @@
<% } %>
<script type="text/javascript" src="https://js.users.51.la/20544303.js"></script>
<% if (theme.clickLove){ %>
<script src="<%- url_for('js/clickLove.js') %>"></script>
<% } %>

1
source/js/clickLove.js Normal file
View File

@ -0,0 +1 @@
!function(e,t,a){function n(){c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o(),r()}function r(){for(var e=0;e<d.length;e++)d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");requestAnimationFrame(r)}function o(){var t="function"==typeof e.onclick&&e.onclick;e.onclick=function(e){t&&t(),i(e)}}function i(e){var a=t.createElement("div");a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)}function c(e){var a=t.createElement("style");a.type="text/css";try{a.appendChild(t.createTextNode(e))}catch(t){a.styleSheet.cssText=e}t.getElementsByTagName("head")[0].appendChild(a)}function s(){return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}var d=[];e.requestAnimationFrame=function(){return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)}}(),n()}(window,document);