给自己的博客添加点击爱心效果
# 给自己的博客添加点击爱心效果
github+hexo+next主题搭建的博客,反正我的是被我搞的没话说啥都往里面加了机票 (opens new window)
这里记录的是加入一个小东西点击出现爱心的效果 具体地方不知的从哪里找到的,换记性不如烂笔头我也记一下
#js文件
在你的项目文件/themes/next/source/js/src
下新建js文件名字叫love,当然你也可以随便起;代码如下:
!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);
# 修改主题配置
目录\themes\next\layout\_layout.swig
文件末尾也好哪里都行,最后末尾添加:
<!-- 页面点击小红心 -->
<script type="text/javascript" src="/js/src/love.js"></script>
# 给底部添加会跳的心
目录\themes\next\layout\_partials
下footer.swig中找到
<i class="fa fa-{{ theme.footer.icon }}"></i>
修改外层span
<span class="with-love" id="heart">
<i class="fa fa-{{ theme.footer.icon }}"></i>
</span>
之后到目录next\source\css\_custom
下custom.styl新增
//底部爱心小图标跳动
@keyframes heartAnimate {
0%,100%{transform:scale(1);}
10%,30%{transform:scale(0.9);}
20%,40%,60%,80%{transform:scale(1.1);}
50%,70%{transform:scale(1.1);}
}
//图标所对应的span中的ID
#heart {
animation: heartAnimate 1.33s ease-in-out infinite;
}
.with-love {
color: rgb(255, 113, 113);
}
主题文件中footer.icon:heart
# InstantClick
介绍请看官网,先下载我修改后的 instantclick.js (opens new window)(浏览器右键保存为),再放到~/themes/next/source/js/src/
下,然后添加代码:
文件位置:~/themes/next/layout/_layout.swig
如果本文对您有所帮助,请打赏给我吧,我先送个你也红包往下看,你可以把扫到红包打赏个我哦!
上次更新: 2022/12/05, 09:12:57