一、描述
1.1 应用场景:想要页面随意点击的时候页面能够弹出炫彩的字体,并且希望鼠标悬浮的时候背景能够动态变化,大屏展示的时候效果炫酷。
1.2 功能介绍:鼠标点击炫彩效果是无论是cpt还是frm模板,页面展示的时候鼠标任意点击不仅不影响页面功能使用,还能够弹出炫彩的字体;鼠标悬浮炫彩效果多应用于大屏动态背景的效果,当鼠标不悬浮在屏幕上面的时候背景是动态变化的,鼠标悬浮在页面上时有汇聚的效果,通过演示这个模板,能够熟练掌握这一系列的相关需求。
二、示例
2.1 鼠标点击炫彩字体提示效果1、在模板web属性添加加载结束事件,如下代码:代码解释:a数组里面存储的是每次点击循环展示的内容,css里面写的是一些样式设置。- <span data-offset-key="t6j0-0-0">var a_idx = 0;
- jQuery(document).ready(function ($) {
- $("body").click(function (e) {
- console.log("xxxxxx")
- var a = new Array("❤富强❤", "❤民主❤", "❤文明❤", "❤和谐❤", "❤自由❤", "❤平等❤", "❤公正❤", "❤法治❤", "❤爱国❤", "❤敬业❤", "❤诚信❤", "❤友善❤");
- var $i = $("<span></span>").text(a[a_idx]);
- a_idx = (a_idx + 1) % a.length;
- var x = e.pageX,
- y = e.pageY;
- $i.css({
- "z-index": 999999999999999999999999999999999999999999999999999999999999999999999,
- "top": y - 20,
- "left": x,
- "position": "absolute",
- "font-weight": "bold",
- "color": "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")"
- </span><span data-offset-key="t6j0-0-1" style="font-style: italic;">//Math.random()返回介于 0(包含) ~ 1(不包含) 之间的一个随机数</span><span data-offset-key="t6j0-0-2">
- });
- $("body").append($i);
- $i.animate({
- "top": y - 180,
- "opacity": 0
- },
- 1500,
- function () {
- $i.remove();
- });
- });
- });</span>
复制代码 2.2 动态背景、鼠标悬浮粒子汇聚效果1、在模板web属性添加加载结束事件,如下代码:代码解释:主要是看return里面返回的信息是悬浮背景粒子的透明度、颜色以及粒子的个数设置。- <span data-offset-key="t6j0-0-2">function() {
- function o(w, v, i) {
- return w.getAttribute(v) || i
- }
- function j(i) {
- return document.getElementsByTagName(i)
- }
- function l() {
- var i = j("script"),
- w = i.length,
- v = i[w - 1];
- return {
- l: w,
- z: o(v, "zIndex", 0),
- o: o(v, "opacity", 0.8),</span><span data-offset-key="t6j0-0-3" style="font-style: italic;">//粒子的透明度</span><span data-offset-key="t6j0-0-4">
- c: o(v, "color", "13,100,273"),</span><span data-offset-key="t6j0-0-5" style="font-style: italic;">//粒子的颜色设置</span><span data-offset-key="t6j0-0-6">
- n: o(v, "count", 300)</span><span data-offset-key="t6j0-0-7" style="font-style: italic;">//粒子的个数</span><span data-offset-key="t6j0-0-8">
- }
- }
- function k() {
- r = u.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth,
- n = u.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
- }
- function b() {
- e.clearRect(0, 0, r, n);
- var w = [f].concat(t);
- var x, v, A, B, z, y;
- t.forEach(function(i) {
- i.x += i.xa,
- i.y += i.ya,
- i.xa *= i.x > r || i.x < 0 ? -1 : 1,
- i.ya *= i.y > n || i.y < 0 ? -1 : 1,
- e.fillRect(i.x - 0.5, i.y - 0.5, 1, 1);
- for (v = 0; v < w.length; v++) {
- x = w[v];
- if (i !== x && null !== x.x && null !== x.y) {
- B = i.x - x.x,
- z = i.y - x.y,
- y = B * B + z * z;
- y < x.max && (x === f && y >= x.max / 2 && (i.x -= 0.03 * B, i.y -= 0.03 * z), A = (x.max - y) / x.max, e.beginPath(), e.lineWidth = A / 2, e.strokeStyle = "rgba(" + s.c + "," + (A + 0.2) + ")", e.moveTo(i.x, i.y), e.lineTo(x.x, x.y), e.stroke())
- }
- }
- w.splice(w.indexOf(i), 1)
- }),
- m(b)
- }
- var u = document.createElement("canvas"),
- s = l(),
- c = "c_n" + s.l,
- e = u.getContext("2d"),
- r,
- n,
- m = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
- function(i) {
- window.setTimeout(i, 1000 / 45)
- },
- a = Math.random,
- f = {
- x: null,
- y: null,
- max: 20000
- };
- u.id = c;
- u.style.cssText = "position:fixed;top:0;left:0;z-index:" + s.z + ";opacity:" + s.o;
- j("body")[0].appendChild(u);
- k(),
- window.onresize = k;
- window.onmousemove = function(i) {
- i = i || window.event,
- f.x = i.clientX,
- f.y = i.clientY
- },
- window.onmouseout = function() {
- f.x = null,
- f.y = null
- };
- for (var t = [], p = 0; s.n > p; p++) {
- var h = a() * r,
- g = a() * n,
- q = 2 * a() - 1,
- d = 2 * a() - 1;
- t.push({
- x: h,
- y: g,
- xa: q,
- ya: d,
- max: 6000
- })
- }
- setTimeout(function() {
- b()
- },
- 100)
- } ();</span>
复制代码
三、 效果查看
3.1鼠标点击炫彩字体提示cpt效果如下:
3.2 动态背景、鼠标悬浮粒子汇聚效果展示
移动端不支持
对你有帮助的话,可以点赞+关注+收藏,更多知识分享持续更新~
|