js實(shí)現(xiàn)點(diǎn)擊生成隨機(jī)div
本文實(shí)例為大家分享了js實(shí)現(xiàn)點(diǎn)擊生成隨機(jī)div的具體代碼,供大家參考,具體內(nèi)容如下
描述:
鼠標(biāo)點(diǎn)擊頁面,在哪里點(diǎn)擊就在那個位置創(chuàng)建一個div,寬高50,
顏色隨機(jī),div在鼠標(biāo)點(diǎn)擊的正中間
效果:
實(shí)現(xiàn):
js:
var Method=(function () { return { EVENT_ID:"event_id", loadImage:function (arr) { var img=new Image(); img.arr=arr; img.list=[]; img.num=0; // 如果DOM對象下的事件偵聽沒有被刪除掉,將會常駐堆中 // 一旦觸發(fā)了這個事件需要的條件,就會繼續(xù)執(zhí)行事件函數(shù) img.addEventListener("load",this.loadHandler); img.self=this; img.src=arr[img.num]; }, loadHandler:function (e) { this.list.push(this.cloneNode(false)); this.num++; if(this.num>this.arr.length-1){ this.removeEventListener("load",this.self.loadHandler); var evt=new Event(Method.EVENT_ID); evt.list=this.list; document.dispatchEvent(evt); return; } this.src=this.arr[this.num]; }, $c:function (type,parent,style) { var elem=document.createElement(type); if(parent) parent.appendChild(elem); for(var key in style){ elem.style[key]=style[key]; } return elem; }, divColor: function () { var col="#";//這個字符串第一位為# 顏色的格式 for(var i=0;i<6;i++){ col+=parseInt(Math.random()*16).toString(16);//rondom*16后的隨機(jī)值即為0-1*16==0-16; toString(16)為轉(zhuǎn)化為16進(jìn)制 } return col;//最后返回一個七位的值 格式即為#nnnnnn 顏色的格式 }, random:function (min,max) { max=Math.max(min,max); min=Math.min(min,max); return Math.floor(Math.random()*(max-min)+min); }, dragElem:function (elem) { elem.addEventListener("mousedown",this.mouseDragHandler); elem.self=this; }, removeDrag:function (elem) { elem.removeEventListener("mousedown",this.mouseDragHandler); }, mouseDragHandler:function (e) { if(e.type==="mousedown"){ e.stopPropagation(); e.preventDefault(); document.point={x:e.offsetX,y:e.offsetY}; document.elem=this; this.addEventListener("mouseup",this.self.mouseDragHandler); document.addEventListener("mousemove",this.self.mouseDragHandler); }else if(e.type==="mousemove"){ this.elem.style.left=e.x-this.point.x+"px"; this.elem.style.top=e.y-this.point.y+"px"; }else if(e.type==="mouseup"){ this.removeEventListener("mouseup",this.self.mouseDragHandler); document.removeEventListener("mousemove",this.self.mouseDragHandler); } } } })();
html:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <script src="js/Method.js"></script> <body> <script> init(); function init() { document.addEventListener("mousedown",mouseHandler); } function mouseHandler(e) { var randomDiv=Method.$c("div",document.body,{ width: "50px", height: "50px", position: "absolute", backgroundColor:divColor() }) randomDiv.style.left=e.clientX-randomDiv.offsetWidth/2+"px"; randomDiv.style.top=e.clientY-randomDiv.offsetHeight/2+"px"; /* top:e.clientY-this.offsetHeight/2+"px",//原因 設(shè)置為了X...xbl // removeEventListener(randomDiv);*/ } function divColor() { var col="#";//這個字符串第一位為# 顏色的格式 for(var i=0;i<6;i++){ col+=parseInt(Math.random()*16).toString(16);//rondom*16后的隨機(jī)值即為0-1*16==0-16; toString(16)為轉(zhuǎn)化為16進(jìn)制 } return col;//最后返回一個七位的值 格式即為#nnnnnn 顏色的格式 } </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)的點(diǎn)擊div區(qū)域外隱藏div區(qū)域
- js點(diǎn)擊頁面其它地方將某個顯示的DIV隱藏
- js點(diǎn)擊彈出div層實(shí)現(xiàn)可拖曳的彈窗效果
- JS動態(tài)添加的div點(diǎn)擊跳轉(zhuǎn)到另一頁面實(shí)現(xiàn)代碼
- JavaScript鼠標(biāo)事件,點(diǎn)擊鼠標(biāo)右鍵,彈出div的簡單實(shí)例
- Javascript點(diǎn)擊其他任意地方隱藏關(guān)閉DIV實(shí)例
- JS實(shí)現(xiàn)點(diǎn)擊按鈕控制Div變寬、增高及調(diào)整背景色的方法
- js實(shí)現(xiàn)點(diǎn)擊按鈕后給Div圖層設(shè)置隨機(jī)背景顏色的方法
- javascript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊頁面 移動DIV
- javascript實(shí)現(xiàn)點(diǎn)擊按鈕讓DIV層彈性移動的方法
相關(guān)文章
關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法
今天小編就為大家分享一篇關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09Svelte反應(yīng)式變量和函數(shù)工作原理詳解
這篇文章主要為大家介紹了Svelte反應(yīng)式變量和函數(shù)工作原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-126種JavaScript判斷對象自身為空的方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了6種JavaScript判斷對象自身為空的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12微信小程序 動態(tài)修改頁面數(shù)據(jù)及參數(shù)傳遞過程詳解
這篇文章主要介紹了微信小程序 動態(tài)修改頁面數(shù)據(jù)及參數(shù)傳遞過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09原生Js與jquery的多組處理, 僅展開一個區(qū)塊的折疊效果
同一個頁面, 有多組(不固定), 每組區(qū)塊數(shù)量不一定一樣的小區(qū)塊. 要求每次只展開一個區(qū)塊,需要的朋友可以參考下。2011-01-01JS實(shí)現(xiàn)的走迷宮小游戲完整實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)的走迷宮小游戲,涉及javascript鍵盤事件響應(yīng)及頁面元素動態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2017-07-07