日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于原生js實現九宮格算法代碼實例

瀏覽:164日期:2024-05-01 15:14:20

九宮格算法核心:

利用控件索引index計算出控件所在的行數和列數; 利用控件計算出left距離; 利用控件計算出top距離; 寫特效時需要用到定位

公式:

行 row=parseInt(i/cols);

列 col=parseInt(i%cols);

i是當前的盒子,cols是總列數,

代碼示例:

<!DOCTYPE html><html lang='en'> <head> <meta charset='UTF-8'> <title>九宮格</title> <style> *{padding: 0;margin: 0; } #top{margin-top:30px;margin-bottom: 20px;margin-left:20px; } #bottom{position: relative; } #bottom .content{width: 220px;height: 360px;background-color: skyblue;margin: 0 0 15px 15px;padding: 5px; } .content img{width: 220px;height: 308px; } #bottom .content p:last-child{font-size: 15px;color: red; } </style> </head> <body> <div id='top'> <button>排成三列</button> <button>排成四列</button> <button>排成五列</button> </div> <div id='bottom'> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> <div class='content'> <img src='http://www.b3g6.com/bcjs/images/dianying.jpg'> <p>是一部非常成功的導演處女作</p> <p>幾乎全面啟用新演員的做法</p> </div> </div> <script> window.onload=function(){var top=document.getElementById('top');var btns=top.getElementsByTagName('button');var content=document.getElementById('bottom');// console.log(content.children);//console.log(btns);//定義變量標識盒子的寬度和高度 var cssW=220; var cssH=360; var marginXY=15; //監聽按鈕點擊事件btns[0].onclick=function(){ getContent(3);}btns[1].onclick=function(){ getContent(4)}btns[2].onclick=function(){ getContent(5);}function getContent(cols){ var cols; //遍歷 for(var i=0;i<content.children.length;i++){ var currentCont=content.children[i]; //console.log(currentCont); //盒子所在的行 var row=parseInt(i/cols); //盒子所在的列 var col=parseInt(i%cols); //console.log('盒子在第' +row+ '行,''在第' +col+ '列'); currentCont.style.position='absolute'; currentCont.style.left=col*(cssW+marginXY)+'px'; currentCont.style.top=row*(cssH+marginXY)+'px'; }} } </script> </body></html>

九宮格(用原生js實現)

1、本文的九宮格是用原生的js實現的;

2、實現的九宮格效果是:可交換1-9的任意方格,且將方格拖拽至大盒子外松開后可自動回到拖拽之前的位置。

3、代碼如下:

html代碼:

<ul id='box'> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li></ul>

css代碼:

body,div,p,h1,h2,h3,h4,h5,h6,ol,ul,li,dl,dt,dd,th,tr,td,hr,caption,table,form,img,input,legend,fieldset{ margin:0; padding:0;}html { overflow: hidden;}ul { list-style: none;}#box { position: relative; margin: 20px auto; width: 640px; height: 640px; border: 1px solid #eee;}#box li { position: absolute; width: 200px; height: 200px; line-height: 200px; text-align: center; font-size: 40px; font-weight: bold; background: #eee;}#box .active { z-index: 1; color: #fff; background: blue;}

js代碼:

window.onload = function () { var oBox = document.getElementById(’box’); var aLi = oBox.children; for(var i = 0; i < aLi.length; i++) { // 布局 aLi[i].style.left = 210 * (i % 3) + 10 + ’px’; aLi[i].style.top = 210 * Math.floor(i / 3) + 10 + ’px’; // 添加拖拽功能 aLi[i].index = i; aLi[i].onmousedown = function (ev) { var e = ev || window.event; var iX = e.clientX - this.offsetLeft; var iY = e.clientY - this.offsetTop; if(this.setCapture) { this.setCapture(); } var oThat = this; // 添加class名稱 this.className = ’active’; document.onmousemove = function (ev) {var e = ev || window.event;var iL = e.clientX - iX;var iT = e.clientY - iY; oThat.style.left = iL + ’px’;oThat.style.top = iT + ’px’; // 交換位置的條件for(var j = 0; j < aLi.length; j++) { if(oThat != aLi[j] && oThat.offsetLeft + oThat.offsetWidth > aLi[j].offsetLeft + aLi[j].offsetWidth / 2 && oThat.offsetTop + oThat.offsetHeight > aLi[j].offsetTop + aLi[j].offsetHeight / 2 && oThat.offsetLeft < aLi[j].offsetLeft + aLi[j].offsetWidth / 2 && oThat.offsetTop < aLi[j].offsetTop + aLi[j].offsetHeight / 2) { var iCurIndex = oThat.index; // 交換位置 aLi[j].style.left = 210 * (iCurIndex % 3) + 10 + ’px’; aLi[j].style.top = 210 * Math.floor(iCurIndex / 3) + 10 + ’px’; // 交換下標 oThat.index = aLi[j].index; aLi[j].index = iCurIndex; break; }} }; document.onmouseup = function () {document.onmousemove = null;document.onmouseup = null; if(oThat.releaseCapture) { oThat.releaseCapture();} // 去掉class名稱oThat.className = ’’; // 重置當前拖拽元素的位置oThat.style.left = 210 * (oThat.index % 3) + 10 + ’px’;oThat.style.top = 210 * Math.floor(oThat.index / 3) + 10 + ’px’; }; return false; }; }};

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲深深色噜噜狠狠爱网站 | 国产一区2区| 午夜久久tv| 亚洲精品电影| 99成人在线| 老司机精品久久| 日韩精品一级中文字幕精品视频免费观看| 日韩视频不卡| 西西人体一区二区| 亚洲一级大片| 日韩精品欧美成人高清一区二区| 亚洲毛片一区| 欧美三级第一页| 久久影院资源站| 亚洲成人不卡| 九九久久电影| 男人的天堂久久精品| 欧美专区18| 日韩精品福利一区二区三区| 国产日韩欧美一区| 高清一区二区| 91成人精品视频| 亚洲精品在线a| 国产精品久久久一区二区| 久久免费精品| 久久亚洲专区| 日韩精品一二三区| 国产日产精品_国产精品毛片| 久久不卡国产精品一区二区| 国产乱码午夜在线视频| 91精品成人| 日韩av中文字幕一区二区三区| 国产探花在线精品一区二区| 国产精品99一区二区三| 国产手机视频一区二区 | 欧美+日本+国产+在线a∨观看| 亚洲黄页一区| 欧美日韩黄网站| 美女一区网站| 三级欧美韩日大片在线看| 国产伦精品一区二区三区在线播放 | 亚洲乱码一区| 国产精品夜夜夜| 日韩另类视频| 亚洲三级在线| 精品视频97| 亚洲黄页一区| 国产精品久久久久毛片大屁完整版 | 精品视频网站| 亚洲激情中文| 免费一级欧美片在线观看网站| 99精品综合| 日产欧产美韩系列久久99| 精品国产麻豆| 亚洲小说春色综合另类电影| 精品一二三区| 日韩精品一卡二卡三卡四卡无卡| 你懂的网址国产 欧美| 欧美日韩精品免费观看视频完整| 国产精选久久| 不卡视频在线| 麻豆视频久久| 视频一区视频二区中文| 精品美女视频 | 亚洲免费高清| 久久香蕉精品香蕉| 天堂av在线一区| 福利一区和二区| 伊人精品久久| 国产综合激情| 精品国产一区二区三区av片| 美国三级日本三级久久99| 国产盗摄——sm在线视频| 亚洲日产av中文字幕| 99久久精品国产亚洲精品| 国产日韩亚洲| 91精品观看| 日韩综合一区| 国产日韩欧美| 亚洲色图网站| 999精品色在线播放| 老司机精品视频在线播放| 亚洲精品精选| 欧美另类专区| 久久国产日本精品| 精品精品99| 国产美女视频一区二区| 亚洲精一区二区三区| 狠狠色狠狠色综合日日tαg| 精品网站aaa| 久久黄色影视| 日韩视频一区| 久久国产亚洲| 国产精品毛片一区二区在线看| 欧美一区不卡| 日韩一区二区三区高清在线观看| 一区二区自拍| 亚洲二区在线| 久久久9色精品国产一区二区三区| 国产激情欧美| 国产乱子精品一区二区在线观看 | 日韩亚洲精品在线观看| 久久久久蜜桃| 麻豆成人91精品二区三区| 日韩福利视频一区| 亚洲我射av| 日本欧洲一区二区| 羞羞答答国产精品www一本| 五月天久久网站| 国产综合婷婷| 欧洲激情综合| 亚洲精品一二三区区别| 99精品小视频| 不卡一区2区| 一区二区视频欧美| 亚洲主播在线| 国产一级久久| 国产亚洲网站| 国产亚洲欧洲| 亚洲欧美网站| 日韩中文字幕av电影| 另类国产ts人妖高潮视频| 欧美日韩在线二区| 欧美成人日韩| 亚洲欧美高清| 亚洲一区二区免费在线观看| 在线国产精品一区| 日本综合视频| 国产精品久久久久久妇女| 国产精品日韩精品中文字幕| 欧美精品国产白浆久久久久| 日韩精品亚洲专区在线观看| 亚洲精品福利| 日韩国产精品久久久| 亚洲欧美日本国产| 日本在线成人| 国产精品久久久久77777丨| 麻豆精品99| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩国产精品久久久| 日本午夜精品久久久| 国产日韩一区二区三免费高清| 免费在线亚洲| 成人国产精选| 1024精品一区二区三区| 国产精品婷婷| 日本不卡一二三区黄网| 久久av免费| 久久影院午夜精品| 欧美午夜精品一区二区三区电影| 欧美另类专区| 日韩不卡免费视频| 精品日韩在线| 欧美日韩国产在线一区| 国产视频一区三区| 深夜福利亚洲| 国产福利资源一区| 日本精品在线中文字幕| 亚洲一区日韩| 国产精品视频一区二区三区综合| 日韩久久精品| 爽好多水快深点欧美视频| 日本a级不卡| 高清不卡亚洲| 亚洲综合福利| 精品亚洲免a| 尤物网精品视频| 国产精品麻豆成人av电影艾秋 | 综合欧美精品| 麻豆精品视频在线观看视频| 亚洲精品一区三区三区在线观看| 美女国产精品| 精品视频一区二区三区在线观看 | 日韩伦理福利| 性色av一区二区怡红| 国产精品久久久亚洲一区| 久久精品主播| 亚洲免费观看高清完整版在线观| 国产伦理久久久久久妇女| 中文在线а√在线8| 亚洲黄页一区| 麻豆精品视频在线| 日韩亚洲精品在线| 麻豆国产欧美日韩综合精品二区| 国产一区清纯| 国产精品亚洲片在线播放| 99精品小视频| 国产欧美日韩在线观看视频| 激情综合网站| 老司机免费视频一区二区三区| 亚洲韩日在线| 国产精品久久久久久久久久白浆 | 久久婷婷激情| 国产毛片精品久久| 欧美天堂亚洲电影院在线观看| 国产精品日本一区二区不卡视频| 免费精品国产| 精品三级av| 日韩超碰人人爽人人做人人添| 国产高清久久|