JS特效:点击出现文字
前言
如题,这个JavaScript特效是建立在jQuery的基础上的。
所以你在使用这个特效前切记引入jQuery文件。否则会提示“jQuery未定义”的。
正文
好啦,废话不多说。直接上代码!
var a_idx = 0;
jQuery(document).ready(function($) {
$("body").click(function(e) {
var a = new Array("富强", "民主", "文明", "和谐", "自由", "平等", "公正" ,"法治", "爱国", "敬业", "诚信", "友善");
var $i = $("<span/>").text(a[a_idx]);
a_idx = (a_idx + 1) % a.length;
var x = e.pageX,
y = e.pageY;
$i.css({
"z-index": 999,
"top": y - 20,
"left": x,
"position": "absolute",
"font-weight": "bold",
"color": "#00FF66"
});
$("body").append($i);
$i.animate({
"top": y - 180,
"opacity": 0
},
1500,
function() {
$i.remove();
});
});
});
“Array()”中的内容可以自行修改,保持"1","2"这样的规则即可。至于CSS的部分,大家可以自由发挥了!
高级说明
如果你的站点使用了InstantClick或Pjax等无刷新加载的手段。下面的代码就很重要了:
InstantClick
第一步
创建jiazhiguan.js,内容如下:
function jiazhiguan() {
//手动省略
}
PS:其实与上面的代码唯一的区别就是封装了jiazhiguan()这么个函数,方便引用。
第二步
在你的站点</body>标签前引入如下代码
<script src="jiazhiguan.js" data-no-instant></script>
<script>jiazhiguan()</script>
说明:
data-no-instant目的是InstantClick无刷新加载时不重复引入脚本,浪费服务器流量。
jiazhiguan()
目的是引入脚本后执行函数,产生预期效果。
Pjax
第一步
与InstantClick第一步相同。
第二步
在你的Pjax控制脚本中的pjax:complete部分添加对应函数。
$(document).on('pjax:complete', function() {
jiazhiguan()
});
哦,对了,同样也要在你的站点</body>标签前引入如下代码啊。
<script src="jiazhiguan.js"></script>
结语
效果嘛,在本站就可以看到了。
对了,这个代码由于来源广泛,我实在找不到原始出处了。何况我还补充了一大堆呢,就算原创了。#(手动滑稽)
读过本文的人,如果你有什么好的css创意,可以分享在评论区域哦。 @(hehe)