js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊頁(yè)面彈出自定義文字效果
本文實(shí)例為大家分享了js鼠標(biāo)點(diǎn)擊頁(yè)面彈出文字的具體代碼,供大家參考,具體內(nèi)容如下
效果:

實(shí)現(xiàn)代碼:
(function(e){
// 點(diǎn)擊事件觸發(fā)生生元素等一系列動(dòng)作的初始狀態(tài)
var bombFlag = true;
// body節(jié)點(diǎn)
var elBody = document.getElementsByTagName("body")[0];
// 初始化文字?jǐn)?shù)組下標(biāo)
var a_idx = 0;
elBody.onclick = function(e) {
if(bombFlag){
// 坐標(biāo)
var ev = e||event,// IE瀏覽器兼容
x = ev.clientX,
y = ev.clientY;
// 隨機(jī)產(chǎn)生文字顏色
var color1 = Math.floor((Math.random()*255));
var color2 = Math.floor((Math.random()*255));
var color3 = Math.floor((Math.random()*255));
// 初始化定時(shí)器
var _timer = null;
// 文字?jǐn)?shù)組
var a = new Array("樂(lè)觀", "❤" ,"積極", "向上", "自由", "正能量","(*^▽^*)", "元?dú)鉂M(mǎn)滿(mǎn)", "開(kāi)心" ,"快樂(lè)", "善良", "可愛(ài)", "暴富", "暴瘦","❤");
// 創(chuàng)建節(jié)點(diǎn)
var elSpan = document.createElement("span");
// 隨機(jī)節(jié)點(diǎn)內(nèi)容
a_idx = (a_idx + 1) % a.length;
// 添加內(nèi)容到節(jié)點(diǎn)
elSpan.innerHTML = a[a_idx];
// 初始節(jié)點(diǎn)化樣式
elSpan.style.zIndex = 999;
elSpan.style.position = "fixed";
elSpan.style.top = y -20 + "px",
elSpan.style.left = x -10 + "px";
elSpan.style.color = 'rgb('+color1+','+color2+','+color3+')';
elSpan.style.fontWeight = "bold";
elSpan.className = "floatSpan";
// 將元素追加到body中
elBody.appendChild(elSpan);
// 獲取追加后的節(jié)點(diǎn)
var el = document.getElementsByClassName("floatSpan")[0];
// 初始化需要漸變的變量值
// top值
var cur_y = y - 20;
// 透明度
var cur_opacity = 1;
// 字體大小
var cur_fontSize = 14;
// 創(chuàng)建定時(shí)器
_timer = setInterval(function(){
// 漸變變量
cur_y += -10;
cur_opacity -= 0.1;
cur_fontSize += 1;
// 漸變變量賦值(因?yàn)橛袉挝坏年P(guān)系 所以不能直接加減 通過(guò)中間變量來(lái)賦值)
el.style.top = cur_y + "px";
el.style.opacity = cur_opacity;
el.style.fontSize = cur_fontSize + "px";
},50);
// 時(shí)間到了之后清空定時(shí)器 清除剛才添加的元素 并且恢復(fù)點(diǎn)擊觸發(fā)事件
setTimeout(function(){
clearInterval(_timer);
elBody.removeChild(el);
bombFlag = true;
},500);
}
// 暫停點(diǎn)擊觸發(fā)事件
bombFlag = false;
};
})();
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js鼠標(biāo)點(diǎn)擊按鈕切換圖片-圖片自動(dòng)切換-點(diǎn)擊左右按鈕切換特效代碼
- js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊文本框自動(dòng)選中內(nèi)容的方法
- js監(jiān)聽(tīng)鼠標(biāo)點(diǎn)擊和鍵盤(pán)點(diǎn)擊事件并自動(dòng)跳轉(zhuǎn)頁(yè)面
- javascript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊生成文字特效
- Javascript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊冒泡特效
- javascript觸發(fā)模擬鼠標(biāo)點(diǎn)擊事件
- JavaScript代碼模擬鼠標(biāo)自動(dòng)點(diǎn)擊事件示例
相關(guān)文章
JS基于正則表達(dá)式的替換操作(replace)用法示例
這篇文章主要介紹了JS基于正則表達(dá)式的替換操作(replace)用法,結(jié)合具體實(shí)例形式詳細(xì)分析了replace函數(shù)的語(yǔ)法、參數(shù)及具體使用技巧,需要的朋友可以參考下2017-04-04
基于JQuery模仿蘋(píng)果桌面的Dock效果(初級(jí)版)
新的一天新的開(kāi)始,今天要分享的是用JQuery模仿蘋(píng)果操作系統(tǒng)桌面的Dock效果,之所以稱(chēng)之為初級(jí)版,是因?yàn)槠渲羞€有一些bug,顯示效果并不穩(wěn)定2012-10-10
JavaScript實(shí)現(xiàn)文本相似度對(duì)比
這篇文章主要介紹了JavaScript實(shí)現(xiàn)文本相似度對(duì)比,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06
JavaScript原始數(shù)據(jù)類(lèi)型Symbol的用法詳解
Symbol是ES6中引入的一種新的基本數(shù)據(jù)類(lèi)型,用于表示一個(gè)獨(dú)一無(wú)二的值。它是JavaScript中的第七種數(shù)據(jù)類(lèi)型。本文將詳細(xì)講講Symbol的使用,需要的可以參考一下2022-11-11
ES6模塊化的import和export用法方法總結(jié)
這篇文章主要介紹了ES6模塊化的import和export用法方法總結(jié),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08
通過(guò)bootstrap全面學(xué)習(xí)less
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)bootstrap學(xué)習(xí)less,LESS CSS是一種動(dòng)態(tài)樣式語(yǔ)言,屬于CSS預(yù)處理語(yǔ)言的一種,感興趣的朋友可以參考下2016-11-11
js實(shí)現(xiàn)鼠標(biāo)拖拽div左右滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)鼠標(biāo)拖拽div左右滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01

