From 7355bdd14685b627cf8d6941952ff7b3cabb0234 Mon Sep 17 00:00:00 2001 From: "DESKTOP-RQ919RC\\Pc" <1300399510@qq.com> Date: Fri, 19 Sep 2025 18:43:17 +0800 Subject: [PATCH] no message --- 2.html | 117 ++++++++++ song-request-station.html | 315 +++++++++---------------- static/css/song-request-station.css | 131 ++++++++++- static/css/song-request-station.less | 220 +++++++++++++++++- static/img/left-icon.png | Bin 0 -> 36735 bytes static/img/right-icon.png | Bin 0 -> 53703 bytes static/js/music.json | 221 ++++++++++++++++++ static/js/tagcloud-2.2 - 副本.js | 326 ++++++++++++++++++++++++++ static/js/tagcloud-2.2.js | 332 +++++++++++++++++++++++++++ 9 files changed, 1427 insertions(+), 235 deletions(-) create mode 100644 2.html create mode 100644 static/img/left-icon.png create mode 100644 static/img/right-icon.png create mode 100644 static/js/music.json create mode 100644 static/js/tagcloud-2.2 - 副本.js create mode 100644 static/js/tagcloud-2.2.js diff --git a/2.html b/2.html new file mode 100644 index 0000000..547e1d0 --- /dev/null +++ b/2.html @@ -0,0 +1,117 @@ + + + + + + Document + + + +
+
生日祝福
+
运动健身
+
通勤路上
+
影视配乐
+
助眠放松
+
派对聚会
+
约会浪漫
+ +
+ + + + diff --git a/song-request-station.html b/song-request-station.html index 56e88d2..1c96940 100644 --- a/song-request-station.html +++ b/song-request-station.html @@ -7,9 +7,9 @@ + -
@@ -33,6 +33,9 @@
+ + +
@@ -40,19 +43,12 @@ diff --git a/static/css/song-request-station.css b/static/css/song-request-station.css index 3a5f82d..fd92c5d 100644 --- a/static/css/song-request-station.css +++ b/static/css/song-request-station.css @@ -7,7 +7,6 @@ width: 100%; background-color: #333333; /* 气泡浮动动画 */ - /* 呼吸效果动画 */ } .container .flexflex { display: flex; @@ -79,16 +78,6 @@ transform: translateY(-15px) translateX(-10px) rotate(-1deg); } } -@keyframes pulse { - 0% { - opacity: 0.8; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); - } - 100% { - opacity: 1; - box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); - } -} .container .container-box { padding-top: 24px; height: 100vh; @@ -281,10 +270,130 @@ padding: 3px 0; margin-bottom: 40px; flex: 1; + z-index: 1; +} +.container .container-box .list-box .left-icon { + width: 121px; + height: 144px; + position: absolute; + top: 61px; + left: 0; + z-index: 1; +} +.container .container-box .list-box .right-icon { + width: 57px; + height: 84px; + position: absolute; + top: 20px; + left: 1120px; + z-index: 1; + transform: rotate(15deg); } .container .container-box .list-box .list { + z-index: 100; +} +.container .container-box .list-box .list-fill .fill-item { + width: 33px; + height: 23px; + border-radius: 8px; + background-color: rgba(255, 255, 255, 0.223529); + position: absolute; + cursor: pointer; +} +.container .container-box .list-box .list-fill .fill-item::after { + content: ""; + width: calc(100% - 6px); + height: calc(100% - 6px); + background: rgba(255, 255, 255, 0.5); + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + border-radius: 8px; + z-index: -1; +} +.container .container-box .list-box .list-fill .fill-item.item2 { + width: 48px; + height: 28px; +} +.container .container-box .list-box .list-fill .fill-item.item3 { + width: 63px; + height: 33px; +} +.container .container-box .list-box .list-fill .fill-item.item4 { + width: 78px; + height: 38px; +} +.container .container-box .list-box .list-fill .fill-item.item5 { + width: 93px; + height: 43px; +} +.container .container-box .list-box .list, +.container .container-box .list-box .list-fill { width: 1194px; height: 100%; + border-radius: 18px; + position: absolute !important; +} +.container .container-box .list-box::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: calc(100% - 6px); + height: calc(100% - 6px); background: linear-gradient(180deg, #7d4bf8 0%, #5241b0 100%); + z-index: -1; border-radius: 18px; } +.tag-item { + height: 60px; + line-height: 60px; + border-radius: 30px; + background: #d5e7f7; + position: absolute; + font-size: 20px !important; + color: #1c3e5e; + padding: 0 25px; + width: fit-content; + cursor: pointer; + box-shadow: 0px 0 0 3px rgba(255, 255, 255, 0.223529); + opacity: 1 !important; +} +.tag-item:hover { + font-weight: 650; + color: #583a05 !important; + background-color: #f19a04 !important; +} +.tag-item.item2 { + height: 50px; + line-height: 50px; + border-radius: 25px; + color: #1c3e5e; + padding: 0 20px; + font-size: 18px !important; + background: #d5e7f7; +} +.tag-item.item3 { + height: 47px; + line-height: 47px; + border-radius: 25px; + color: #1c3e5e; + padding: 0 16px; + font-size: 16px !important; + background: #d5e7f7; +} +.tag-item.item4 { + height: 30px; + line-height: 30px; + border-radius: 30px; + color: #1c3e5e; + padding: 0 10px; + font-size: 14px !important; + background: #d5e7f7; +} +.tag-item.red { + color: #62263c !important; + background: linear-gradient(180deg, #ff8eba 0%, #f4458c 100%); +} diff --git a/static/css/song-request-station.less b/static/css/song-request-station.less index c5b64ce..6dd223a 100644 --- a/static/css/song-request-station.less +++ b/static/css/song-request-station.less @@ -50,7 +50,6 @@ overflow: hidden; } - .bubble-tag { position: absolute; padding: 8px 18px; @@ -87,17 +86,17 @@ } } - /* 呼吸效果动画 */ - @keyframes pulse { - 0% { - opacity: 0.8; - box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); - } - 100% { - opacity: 1; - box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); - } - } + // /* 呼吸效果动画 */ + // @keyframes pulse { + // 0% { + // opacity: 0.8; + // box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); + // } + // 100% { + // opacity: 1; + // box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15); + // } + // } .container-box { padding-top: 24px; @@ -313,12 +312,209 @@ padding: 3px 0; margin-bottom: 40px; flex: 1; + z-index: 1; + + .left-icon { + width: 121px; + height: 144px; + position: absolute; + top: 61px; + left: 0; + z-index: 1; + } + + .right-icon { + width: 57px; + height: 84px; + position: absolute; + top: 20px; + left: 1120px; + z-index: 1; + transform: rotate(15deg); + } + .list { + z-index: 100; + // background: linear-gradient(180deg, #7d4bf8 0%, #5241b0 100%); + } + + .list-fill { + .fill-item { + width: 33px; + height: 23px; + border-radius: 8px; + background-color: rgba(255, 255, 255, 0.223529); + position: absolute; + cursor: pointer; + + &::after { + content: ""; + width: calc(100% - 6px); + height: calc(100% - 6px); + background: rgba(255, 255, 255, 0.5); + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + border-radius: 8px; + z-index: -1; + } + + &.item2 { + width: 48px; + height: 28px; + } + + &.item3 { + width: 63px; + height: 33px; + } + + &.item4 { + width: 78px; + height: 38px; + } + + &.item5 { + width: 93px; + height: 43px; + } + } + } + + .list, + .list-fill { width: 1194px; height: 100%; + border-radius: 18px; + position: absolute !important; + } + + &::after { + content: ""; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: calc(100% - 6px); + height: calc(100% - 6px); background: linear-gradient(180deg, #7d4bf8 0%, #5241b0 100%); + z-index: -1; border-radius: 18px; } } } } + +.tag-item { + height: 60px; + line-height: 60px; + // border-radius: 8px; + border-radius: 30px; + // background-color: rgba(255, 255, 255, 0.223529); + background: #d5e7f7; + + position: absolute; + font-size: 20px !important; + color: #1c3e5e; + + padding: 0 25px; + width: fit-content; + cursor: pointer; + // transition: all 0.3s; + box-shadow: 0px 0 0 3px rgba(255, 255, 255, 0.223529); + opacity: 1 !important; + &:hover { + font-weight: 650; + color: rgb(88, 58, 5) !important; + background-color: rgba(241, 154, 4, 1) !important; + + // &::after { + // background-color: rgba(241, 154, 4, 1) !important; + // } + } + + // &.item2 { + // height: 60px; + // line-height: 60px; + // border-radius: 30px; + + // color: #1c3e5e; + // font-size: 20px !important; + + // // &::after { + // // background: #d5e7f7; + // // } + // } + + &.item2 { + height: 50px; + line-height: 50px; + border-radius: 25px; + + color: #1c3e5e; + padding: 0 20px; + font-size: 18px !important; + background: #d5e7f7; + // &::after { + // background: #d5e7f7; + // border-radius: 250px; + // } + } + + &.item3 { + height: 47px; + line-height: 47px; + border-radius: 25px; + + color: #1c3e5e; + padding: 0 16px; + font-size: 16px !important; + background: #d5e7f7; + + // &::after { + // background: #d5e7f7; + // border-radius: 25px; + // } + } + + &.item4 { + height: 30px; + line-height: 30px; + border-radius: 30px; + + color: #1c3e5e; + padding: 0 10px; + font-size: 14px !important; + background: #d5e7f7; + + // &::after { + // background: #d5e7f7; + // border-radius: 30px; + // } + } + + // &::after { + // content: ""; + // width: calc(100% - 6px); + // height: calc(100% - 6px); + // // background: linear-gradient(180deg, #ff8eba 0%, #f4458c 100%); + // background: #d5e7f7; + // position: absolute; + // top: 50%; + // left: 50%; + // transform: translate(-50%, -50%); + // // border-radius: 8px; + // border-radius: 30px; + // z-index: -1; + // } + + &.red { + color: #62263c !important; + background: linear-gradient(180deg, #ff8eba 0%, #f4458c 100%); + + &::after { + // background: linear-gradient(180deg, #ff8eba 0%, #f4458c 100%); + } + } +} diff --git a/static/img/left-icon.png b/static/img/left-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..23aee1b82c4258eee608e0b2d5bc62dd48d49507 GIT binary patch literal 36735 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�S}8o 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 1 ) { // 焦点在X轴的椭圆 + self.ratioX = 1; + self.ratioY = _ratio; + } else { + self.ratioX = self.ratioY = 1; // 正圆 + } + + self.depth = 2 * self.radius; // 滚动深度 + self.size = 2 * self.radius; // 随鼠标滚动变速作用区域 + self.mspeed = TagCloud._getMsSpeed(self.config.mspeed); + self.ispeed = TagCloud._getIsSpeed(self.config.ispeed); + self.items = self._getItems(); + + self.direction = self.config.direction; // 初始滚动方向 + self.keep = self.config.keep; // 鼠标移出后是否保持之前滚动 + + // 初始化 + self.active = false; // 是否为激活状态 + self.lasta = 1; + self.lastb = 1; + self.mouseX0 = self.ispeed * Math.sin(self.direction * Math.PI / 180); // 鼠标与滚动圆心x轴初始距离 + self.mouseY0 = -self.ispeed * Math.cos(self.direction * Math.PI / 180); // 鼠标与滚动圆心y轴初始距离 + self.mouseX = self.mouseX0; // 鼠标与滚动圆心x轴距离 + self.mouseY = self.mouseY0; // 鼠标与滚动圆心y轴距离 + self.index = -1; + + // 鼠标移入 + TagCloud._on(self.box, 'mouseover', function () { + self.active = true; + }); + // 鼠标移出 + TagCloud._on(self.box, 'mouseout', function () { + self.active = false; + }); + + // 鼠标在内移动 + TagCloud._on(self.keep ? win : self.box, 'mousemove', function (ev) { + var oEvent = win.event || ev; + var boxPosition = self.box.getBoundingClientRect(); + self.mouseX = (oEvent.clientX - (boxPosition.left + self.box.offsetWidth / 2)) / 5; + self.mouseY = (oEvent.clientY - (boxPosition.top + self.box.offsetHeight / 2)) / 5; + }); + + for (var j = 0, len = self.items.length; j < len; j++) { + self.items[j].element.index = j; + // 鼠标移出子元素,当前元素静止放大 + self.items[j].element.onmouseover = function () { + self.index = this.index; + } + // 鼠标移出子元素,当前元素继续滚动 + self.items[j].element.onmouseout = function () { + self.index = -1; + } + } + + // 定时更新 + TagCloud.boxs.push(self.box); + self.update(self); // 初始更新 + self.box.style.visibility = "visible"; + self.box.style.position = 'relative'; + for (var j = 0, len = self.items.length; j < len; j++) { + self.items[j].element.style.position = "absolute"; + self.items[j].element.style.zIndex = j + 1; + } + self.up = setInterval(function () { + self.update(self) + }, 30) + } + + //实例 + TagCloud.boxs = []; //实例元素数组 + // 静态方法们 + TagCloud._set = function (element) { + if (TagCloud.boxs.indexOf(element) === -1) { // ie8不支持数组的indexOf方法,所以自定义indexOf + return true; + } + }; + + //添加数组IndexOf方法 + if (!Array.prototype.indexOf) { + // Array.prototype.indexOf = function (elt /*, from*/) { + Array.prototype.indexOf = function (elt) { + var len = this.length >>> 0; + var from = Number(arguments[1]) || 0; + from = (from < 0) + ? Math.ceil(from) + : Math.floor(from); + if (from < 0) + from += len; + + for (; from < len; from++) { + if (from in this && this[from] === elt) + return from; + } + return -1; + }; + } + + TagCloud._getConfig = function (config) { + var defaultConfig = { // 默认值 + fontsize: 16, // 基本字体大小, 单位px + radius: 60, // 滚动纵轴半径, 默认60, 单位px,取值60,[60],[60, 60] + mspeed: "normal", // 滚动最大速度, 取值: slow, normal(默认), fast + ispeed: "normal", // 滚动初速度, 取值: slow, normal(默认), fast + direction: 135, // 初始滚动方向, 取值角度(顺时针360): 0对应top, 90对应left, 135对应right-bottom(默认)... + keep: true, // 鼠标移出组件后是否继续随鼠标滚动, 取值: false, true(默认) 对应 减速至初速度滚动, 随鼠标滚动 + multicolour: true // 是否为彩色字体,颜色随机,取值:true(默认),false + }; + + if (isObject(config)) { + for (var i in config) { + if (config.hasOwnProperty(i)) {//hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链 + defaultConfig[i] = config[i]; //用户配置 + } + } + } + + return defaultConfig;// 配置 Merge + }; + + TagCloud._getMsSpeed = function (mspeed) { //滚动最大速度 + var speedMap = { + slow: 1.5, + normal: 3, + fast: 5 + }; + return speedMap[mspeed] || 3; + }; + TagCloud._getIsSpeed = function (ispeed) { //滚动初速度 + var speedMap = { + slow: 10, + normal: 25, + fast: 50 + }; + return speedMap[ispeed] || 25; + }; + TagCloud._getSc = function (a, b) { + var l = Math.PI / 180; + //数组顺序0,1,2,3表示asin,acos,bsin,bcos + return [ + Math.sin(a * l), + Math.cos(a * l), + Math.sin(b * l), + Math.cos(b * l) + ]; + }; + + TagCloud._on = function (ele, eve, handler, cap) { + if (ele.addEventListener) { + ele.addEventListener(eve, handler, cap); + } else if (ele.attachEvent) { + ele.attachEvent('on' + eve, handler); + } else { + ele['on' + eve] = handler; + } + }; + + // 原型方法 + TagCloud.prototype = { + constructor: TagCloud, // 反向引用构造器 + + update: function () { + var self = this, a, b; + + if (!self.active && !self.keep) { + self.mouseX = Math.abs(self.mouseX - self.mouseX0) < 1 ? self.mouseX0 : (self.mouseX + self.mouseX0) / 2; //重置鼠标与滚动圆心x轴距离 + self.mouseY = Math.abs(self.mouseY - self.mouseY0) < 1 ? self.mouseY0 : (self.mouseY + self.mouseY0) / 2; //重置鼠标与滚动圆心y轴距离 + } + + a = -(Math.min(Math.max(-self.mouseY, -self.size), self.size) * 2 / self.radius) * self.mspeed; + b = (Math.min(Math.max(-self.mouseX, -self.size), self.size) * 2 / self.radius) * self.mspeed; + + if (Math.abs(a) <= 0.01 && Math.abs(b) <= 0.01) { return; } + + self.lasta = a; + self.lastb = b; + + var sc = TagCloud._getSc(a, b); + + for (var j = 0, len = self.items.length; j < len; j++) { + + var rx1 = self.items[j].x, + ry1 = self.items[j].y * sc[1] + self.items[j].z * (-sc[0]), + rz1 = self.items[j].y * sc[0] + self.items[j].z * sc[1]; + + var rx2 = rx1 * sc[3] + rz1 * sc[2], + ry2 = ry1, + rz2 = rz1 * sc[3] - rx1 * sc[2]; + + if (self.index == j) { + self.items[j].scale = 1; //取值范围0.6 ~ 3 + self.items[j].fontsize = 18; + self.items[j].alpha = 1; + self.items[j].element.style.zIndex = 99; + } else { + var per = self.depth / (self.depth + rz2); + self.items[j].x = rx2; + self.items[j].y = ry2; + self.items[j].z = rz2; + + self.items[j].scale = per; //取值范围0.6 ~ 3 + self.items[j].fontsize = Math.ceil(per * 2) + self.fontsize - 6; + self.items[j].alpha = 1.5 * per - 0.5; + self.items[j].element.style.zIndex = Math.ceil(per * 10 - 5); + } + self.items[j].element.style.fontSize = self.items[j].fontsize + "px"; + self.items[j].element.style.left = self.items[j].x * self.ratioX + (self.box.offsetWidth - self.items[j].offsetWidth) / 2 + "px"; + self.items[j].element.style.top = self.items[j].y / self.ratioY + (self.box.offsetHeight - self.items[j].offsetHeight) / 2 + "px"; + self.items[j].element.style.filter = "alpha(opacity=" + 100 * self.items[j].alpha + ")"; + self.items[j].element.style.opacity = self.items[j].alpha; + } + }, + + _getItems: function () { + var self = this, + items = [], + element = self.box.children, // children 全部是Element + length = element.length, + item; + + for (var i = 0; i < length; i++) { + item = {}; + item.angle = {}; + item.angle.phi = Math.acos(-1 + (2 * i + 1) / length); + item.angle.theta = Math.sqrt((length + 1) * Math.PI) * item.angle.phi; + item.element = element[i]; + item.offsetWidth = item.element.offsetWidth; + item.offsetHeight = item.element.offsetHeight; + item.x = self.radius / 2 * 1.5 * Math.cos(item.angle.theta) * Math.sin(item.angle.phi); + item.y = self.radius / 2 * 1.5 * Math.sin(item.angle.theta) * Math.sin(item.angle.phi); + item.z = self.radius / 2 * 1.5 * Math.cos(item.angle.phi); + item.element.style.left = item.x * self.ratioX + ( self.box.offsetWidth - item.offsetWidth ) / 2 + "px"; + item.element.style.top = item.y / self.ratioY + ( self.box.offsetHeight - item.offsetHeight ) / 2 + "px"; + if (self.config.multicolour) { // 初始化文字颜色为彩色 + _color = self._randomNumBoth(0, 360); // 定义色相 (0 到 360) - 0 (或 360) 红,120绿,180青,240蓝,300紫 + _light = self._randomNumBoth(30, 60); // 定义亮度 0% 为暗, 50% 为普通, 100% 为白 + item.element.style.color = "hsl(" + _color + ", 100%, " + _light + "%)"; // 中间值为饱和度; 0%灰色,100%全色 + // item.element.style.color = 'rgb(' + parseInt(Math.random() * 255) + ',' + parseInt(Math.random() * 255) + ',' + parseInt(Math.random() * 255) + ')'; + } + items.push(item); + } + return items; //单元素数组 + }, + + // 取随机值,Min ≤ num ≤ Max + _randomNumBoth: function(Min, Max){ + var Range = Max - Min; + var Rand = Math.random(); + var num = Min + Math.round(Rand * Range); //四舍五入 + return num; + } + }; + + if (!doc.querySelectorAll) { // ie7不支持querySelectorAll,所以要重新定义 + doc.querySelectorAll = function (selectors) { + var style = doc.createElement('style'), elements = [], element; + doc.documentElement.firstChild.appendChild(style); + doc._qsa = []; + + style.styleSheet.cssText = selectors + '{x-qsa:expression(document._qsa && document._qsa.push(this))}'; + window.scrollBy(0, 0); + style.parentNode.removeChild(style); + + while (doc._qsa.length) { + element = doc._qsa.shift(); + element.style.removeAttribute('x-qsa'); + elements.push(element); + } + doc._qsa = null; + return elements; + }; + } + + return function (options) { // factory + options = options || {}; // 短路语法 + var selector = options.selector || '.tagcloud', // 默认选择class为tagcloud的元素 + elements = doc.querySelectorAll(selector), + instance = []; + for (var index = 0, len = elements.length; index < len; index++) { + options.element = elements[index]; + if (!!TagCloud._set(options.element)) { + instance.push(new TagCloud(options)); + } + } + return instance; + }; + +})(window, document) \ No newline at end of file diff --git a/static/js/tagcloud-2.2.js b/static/js/tagcloud-2.2.js new file mode 100644 index 0000000..367b843 --- /dev/null +++ b/static/js/tagcloud-2.2.js @@ -0,0 +1,332 @@ +/* + * 3d标签云 + * 功能:鼠标移入标签,当前标签静止放大 + * 说明:radius 控制滚动区域(横椭圆、纵椭圆、正圆) + * 版本:2.2 + * */ + +window.tagCloud = (function (win, doc) { + // 判断对象 + function isObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; + } + + // 构造函数 + function TagCloud(options) { + var self = this; + self.config = TagCloud._getConfig(options); + self.box = self.config.element; // 组件元素 + self.fontsize = self.config.fontsize; // 平均字体大小 + + if (Number.isInteger(self.config.radius)) { + self._radiusX = self._radiusY = self.config.radius; + } else if (self.config.radius instanceof Array) { + if (self.config.radius.length === 1) { + self._radiusX = self._radiusY = self.config.radius[0]; + } else { + self._radiusX = self.config.radius[0]; + self._radiusY = self.config.radius[1]; + } + } + + self.radius = self._radiusX; // 滚动半径 + + _ratio = Math.round((self._radiusX * 10) / self._radiusY) / 10; // 滚动区域比例,保留一位小数 + if (_ratio < 1) { + // 焦点在Y轴的椭圆 + self.ratioX = _ratio; + self.ratioY = 1; + self.radius = self._radiusY; // 滚动半径,选择长半径 + } else if (_ratio > 1) { + // 焦点在X轴的椭圆 + self.ratioX = 1; + self.ratioY = _ratio; + } else { + self.ratioX = self.ratioY = 1; // 正圆 + } + + self.depth = 2 * self.radius; // 滚动深度 + self.size = 2 * self.radius; // 随鼠标滚动变速作用区域 + self.mspeed = TagCloud._getMsSpeed(self.config.mspeed); + self.ispeed = TagCloud._getIsSpeed(self.config.ispeed); + self.items = self._getItems(); + + self.direction = self.config.direction; // 初始滚动方向 + self.keep = self.config.keep; // 鼠标移出后是否保持之前滚动 + + // 初始化 + self.active = false; // 是否为激活状态 + self.lasta = 1; + self.lastb = 1; + self.mouseX0 = self.ispeed * Math.sin((self.direction * Math.PI) / 180); // 鼠标与滚动圆心x轴初始距离 + self.mouseY0 = -self.ispeed * Math.cos((self.direction * Math.PI) / 180); // 鼠标与滚动圆心y轴初始距离 + self.mouseX = self.mouseX0; // 鼠标与滚动圆心x轴距离 + self.mouseY = self.mouseY0; // 鼠标与滚动圆心y轴距离 + self.index = -1; + + // 鼠标移入 + TagCloud._on(self.box, "mouseover", function () { + self.active = true; + }); + // 鼠标移出 + TagCloud._on(self.box, "mouseout", function () { + self.active = false; + }); + + // 鼠标在内移动 + TagCloud._on(self.keep ? win : self.box, "mousemove", function (ev) { + var oEvent = win.event || ev; + var boxPosition = self.box.getBoundingClientRect(); + self.mouseX = (oEvent.clientX - (boxPosition.left + self.box.offsetWidth / 2)) / 5; + self.mouseY = (oEvent.clientY - (boxPosition.top + self.box.offsetHeight / 2)) / 5; + }); + + for (var j = 0, len = self.items.length; j < len; j++) { + self.items[j].element.index = j; + // 鼠标移出子元素,当前元素静止放大 + self.items[j].element.onmouseover = function () { + self.index = this.index; + }; + // 鼠标移出子元素,当前元素继续滚动 + self.items[j].element.onmouseout = function () { + self.index = -1; + }; + } + + // 定时更新 + TagCloud.boxs.push(self.box); + self.update(self); // 初始更新 + self.box.style.visibility = "visible"; + self.box.style.position = "relative"; + for (var j = 0, len = self.items.length; j < len; j++) { + self.items[j].element.style.position = "absolute"; + self.items[j].element.style.zIndex = j + 1; + } + self.up = setInterval(function () { + self.update(self); + }, 5); + } + + //实例 + TagCloud.boxs = []; //实例元素数组 + // 静态方法们 + TagCloud._set = function (element) { + if (TagCloud.boxs.indexOf(element) === -1) { + // ie8不支持数组的indexOf方法,所以自定义indexOf + return true; + } + }; + + //添加数组IndexOf方法 + if (!Array.prototype.indexOf) { + // Array.prototype.indexOf = function (elt /*, from*/) { + Array.prototype.indexOf = function (elt) { + var len = this.length >>> 0; + var from = Number(arguments[1]) || 0; + from = from < 0 ? Math.ceil(from) : Math.floor(from); + if (from < 0) from += len; + + for (; from < len; from++) { + if (from in this && this[from] === elt) return from; + } + return -1; + }; + } + + TagCloud._getConfig = function (config) { + var defaultConfig = { + // 默认值 + fontsize: 16, // 基本字体大小, 单位px + radius: 60, // 滚动纵轴半径, 默认60, 单位px,取值60,[60],[60, 60] + mspeed: "normal", // 滚动最大速度, 取值: slow, normal(默认), fast + ispeed: "normal", // 滚动初速度, 取值: slow, normal(默认), fast + direction: 135, // 初始滚动方向, 取值角度(顺时针360): 0对应top, 90对应left, 135对应right-bottom(默认)... + keep: true, // 鼠标移出组件后是否继续随鼠标滚动, 取值: false, true(默认) 对应 减速至初速度滚动, 随鼠标滚动 + multicolour: true, // 是否为彩色字体,颜色随机,取值:true(默认),false + }; + + if (isObject(config)) { + for (var i in config) { + if (config.hasOwnProperty(i)) { + //hasOwnProperty()用来判断一个属性是定义在对象本身而不是继承自原型链 + defaultConfig[i] = config[i]; //用户配置 + } + } + } + + return defaultConfig; // 配置 Merge + }; + + TagCloud._getMsSpeed = function (mspeed) { + //滚动最大速度 + var speedMap = { + slow: 1.5, + normal: 3, + fast: 5, + }; + return speedMap[mspeed] || 3; + }; + TagCloud._getIsSpeed = function (ispeed) { + //滚动初速度 + var speedMap = { + slow: 10, + slow2: 14, + normal: 25, + fast: 50, + }; + return speedMap[ispeed] || 25; + }; + TagCloud._getSc = function (a, b) { + var l = Math.PI / 180; + //数组顺序0,1,2,3表示asin,acos,bsin,bcos + return [Math.sin(a * l), Math.cos(a * l), Math.sin(b * l), Math.cos(b * l)]; + }; + + TagCloud._on = function (ele, eve, handler, cap) { + if (ele.addEventListener) { + ele.addEventListener(eve, handler, cap); + } else if (ele.attachEvent) { + ele.attachEvent("on" + eve, handler); + } else { + ele["on" + eve] = handler; + } + }; + + // 原型方法 + TagCloud.prototype = { + constructor: TagCloud, // 反向引用构造器 + + update: function () { + var self = this, + a, + b; + + if (!self.active && !self.keep) { + self.mouseX = Math.abs(self.mouseX - self.mouseX0) < 1 ? self.mouseX0 : (self.mouseX + self.mouseX0) / 2; //重置鼠标与滚动圆心x轴距离 + self.mouseY = Math.abs(self.mouseY - self.mouseY0) < 1 ? self.mouseY0 : (self.mouseY + self.mouseY0) / 2; //重置鼠标与滚动圆心y轴距离 + } + + a = -((Math.min(Math.max(-self.mouseY, -self.size), self.size) * 2) / self.radius) * self.mspeed; + b = ((Math.min(Math.max(-self.mouseX, -self.size), self.size) * 2) / self.radius) * self.mspeed; + + if (Math.abs(a) <= 0.01 && Math.abs(b) <= 0.01) { + return; + } + + self.lasta = a; + self.lastb = b; + + var sc = TagCloud._getSc(a, b); + + for (var j = 0, len = self.items.length; j < len; j++) { + var rx1 = self.items[j].x, + ry1 = self.items[j].y * sc[1] + self.items[j].z * -sc[0], + rz1 = self.items[j].y * sc[0] + self.items[j].z * sc[1]; + + var rx2 = rx1 * sc[3] + rz1 * sc[2], + ry2 = ry1, + rz2 = rz1 * sc[3] - rx1 * sc[2]; + + if (self.index == j) { + self.items[j].scale = 1; //取值范围0.6 ~ 3 + self.items[j].fontsize = 18; + self.items[j].alpha = 1; + self.items[j].element.style.zIndex = 99; + } else { + var per = self.depth / (self.depth + rz2); + self.items[j].x = rx2; + self.items[j].y = ry2; + self.items[j].z = rz2; + + self.items[j].scale = per; //取值范围0.6 ~ 3 + self.items[j].fontsize = Math.ceil(per * 2) + self.fontsize - 6; + self.items[j].alpha = 1.5 * per - 0.5; + self.items[j].element.style.zIndex = Math.ceil(per * 10 - 5); + } + self.items[j].element.style.fontSize = self.items[j].fontsize + "px"; + self.items[j].element.style.left = self.items[j].x * self.ratioX + (self.box.offsetWidth - self.items[j].offsetWidth) / 2 + "px"; + self.items[j].element.style.top = self.items[j].y / self.ratioY + (self.box.offsetHeight - self.items[j].offsetHeight) / 2 + "px"; + self.items[j].element.style.filter = "alpha(opacity=" + 100 * self.items[j].alpha + ")"; + self.items[j].element.style.opacity = self.items[j].alpha; + } + }, + + _getItems: function () { + var self = this, + items = [], + element = self.box.children, // children 全部是Element + length = element.length, + item; + + for (var i = 0; i < length; i++) { + item = {}; + item.angle = {}; + item.angle.phi = Math.acos(-1 + (2 * i + 1) / length); + item.angle.theta = Math.sqrt((length + 1) * Math.PI) * item.angle.phi; + item.element = element[i]; + item.offsetWidth = item.element.offsetWidth; + item.offsetHeight = item.element.offsetHeight; + item.x = (self.radius / 2) * 1.5 * Math.cos(item.angle.theta) * Math.sin(item.angle.phi); + item.y = (self.radius / 2) * 1.5 * Math.sin(item.angle.theta) * Math.sin(item.angle.phi); + item.z = (self.radius / 2) * 1.5 * Math.cos(item.angle.phi); + item.element.style.left = item.x * self.ratioX + (self.box.offsetWidth - item.offsetWidth) / 2 + "px"; + item.element.style.top = item.y / self.ratioY + (self.box.offsetHeight - item.offsetHeight) / 2 + "px"; + if (self.config.multicolour) { + // 初始化文字颜色为彩色 + _color = self._randomNumBoth(0, 360); // 定义色相 (0 到 360) - 0 (或 360) 红,120绿,180青,240蓝,300紫 + _light = self._randomNumBoth(30, 60); // 定义亮度 0% 为暗, 50% 为普通, 100% 为白 + item.element.style.color = "hsl(" + _color + ", 100%, " + _light + "%)"; // 中间值为饱和度; 0%灰色,100%全色 + // item.element.style.color = 'rgb(' + parseInt(Math.random() * 255) + ',' + parseInt(Math.random() * 255) + ',' + parseInt(Math.random() * 255) + ')'; + } + items.push(item); + } + return items; //单元素数组 + }, + + // 取随机值,Min ≤ num ≤ Max + _randomNumBoth: function (Min, Max) { + var Range = Max - Min; + var Rand = Math.random(); + var num = Min + Math.round(Rand * Range); //四舍五入 + return num; + }, + }; + + if (!doc.querySelectorAll) { + // ie7不支持querySelectorAll,所以要重新定义 + doc.querySelectorAll = function (selectors) { + var style = doc.createElement("style"), + elements = [], + element; + doc.documentElement.firstChild.appendChild(style); + doc._qsa = []; + + style.styleSheet.cssText = selectors + "{x-qsa:expression(document._qsa && document._qsa.push(this))}"; + window.scrollBy(0, 0); + style.parentNode.removeChild(style); + + while (doc._qsa.length) { + element = doc._qsa.shift(); + element.style.removeAttribute("x-qsa"); + elements.push(element); + } + doc._qsa = null; + return elements; + }; + } + + return function (options) { + // factory + options = options || {}; // 短路语法 + var selector = options.selector || ".tagcloud", // 默认选择class为tagcloud的元素 + elements = doc.querySelectorAll(selector), + instance = []; + for (var index = 0, len = elements.length; index < len; index++) { + options.element = elements[index]; + if (!!TagCloud._set(options.element)) { + instance.push(new TagCloud(options)); + } + } + return instance; + }; +})(window, document);