摘要:今天要分享的是一款特別的焦點(diǎn)圖效果,不依賴,全程手寫,代碼量不大,百行左右,它的特別之處在于可以多維度的切換誰說程序員沒有情調(diào)拿這個(gè)去給女票定制個(gè)專屬相冊(cè)吧源碼地址下載核心代碼
今天要分享的是一款特別的 html5/css3 焦點(diǎn)圖效果,不依賴jquery,全程JS 手寫,代碼量不大,百行左右,它的特別之處在于 可以多維度的切換
誰說程序員沒有情調(diào)? 拿這個(gè)去給女票定制個(gè)專屬相冊(cè)吧
源碼地址:下載
js核心代碼:
window.addEventListener("load",function(){ figure = document.getElementById("multiSlide"); topButton = document.getElementById("top"); bottomButton = document.getElementById("bottom"); leftButton = document.getElementById("left"); rightButton = document.getElementById("right"); new Box(-2,2,"images/2689.jpg"); new Box(-1,2,"images/2690.jpg"); new Box(0,2,"images/2691.jpg"); new Box(1,2,"images/2692.jpg"); new Box(2,2,"images/2693.jpg"); new Box(3,2,"images/2694.jpg"); new Box(4,2,"images/2695.jpg"); new Box(5,2,"images/2696.jpg"); new Box(2,-2,"images/2697.jpg"); new Box(2,-1,"images/2698.jpg"); new Box(2,0,"images/2699.jpg"); new Box(2,1,"images/2700.jpg"); new Box(2,2,"images/2701.jpg"); new Box(2,3,"images/2702.jpg"); new Box(2,4,"images/2703.jpg"); new Box(2,5,"images/2704.jpg"); topButton.addEventListener("click", function(){ if(slidePosY>-3) slide("Y",-1); }); bottomButton.addEventListener("click", function(){ if(slidePosY<4) slide("Y",1); }); leftButton.addEventListener("click", function(){ if(slidePosX>-3) slide("X",-1); }); rightButton.addEventListener("click", function(){ if(slidePosX<4) slide("X",1); }); }); var unit = 160; var registeredBoxes = []; var slidePosX = 0; var slidePosY = 0; var Box = function(posX,posY,img){ this.pos = {}; this.pos.X = posX; this.pos.Y = posY; this.img = img; this.init(); } Box.prototype = { init : function(){ this.DOMElement = document.createElement("div"); this.DOMElement.className = "box"; this.DOMElement.style.left = (this.pos.X*unit)-unit+"px"; this.DOMElement.style.top = (this.pos.Y*unit)-unit+"px"; this.DOMElement.setAttribute("data-pos",this.pos.X.toString()+this.pos.Y.toString()); var img = document.createElement("img"); img.src = this.img; this.DOMElement.appendChild(img); figure.appendChild(this.DOMElement); registeredBoxes.push(this); }, setPosition : function(axis,val){ this.pos[axis] = val; if(axis == "X"){ this.DOMElement.style.left = (this.pos[axis]*unit)-unit+"px"; }else if(axis == "Y"){ this.DOMElement.style.top = (this.pos[axis]*unit)-unit+"px"; } this.DOMElement.setAttribute("data-pos",this.pos.X.toString()+this.pos.Y.toString()); } } function slide(axis,dir){ var len = registeredBoxes.length; if(axis == "Y"){ for(var i=0; i
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/109705.html
摘要:解析進(jìn)到首頁其實(shí)關(guān)鍵字在本地就隨機(jī)取完了,在首頁中的方法中就通過緩存了要畫的元素,比如關(guān)鍵字這里是圖片關(guān)鍵字解析語也是圖片畢竟微信小程序的不支持字體等等。 一、Canvas應(yīng)用的背景(個(gè)人理解)及基礎(chǔ)語法 背景 從2012年開始,微信那個(gè)時(shí)候用戶的積累的量已經(jīng)非常大了,推出公眾號(hào),當(dāng)然大屏智能手機(jī)在那個(gè)時(shí)候也流行,傳統(tǒng)的大眾媒體逐步消亡,像微信公眾號(hào)這樣的新媒體盛行。企業(yè)的廣告投入開始...
摘要:畢老師運(yùn)營(yíng)這明顯是廣告,但為什么要在這里發(fā)過去一段時(shí)間,由于團(tuán)隊(duì)中的各種高富帥人生淫家都在全世界旅游,我們的開發(fā)進(jìn)度比較慢當(dāng)然之前也一直很慢,因?yàn)橄胍鲆粋€(gè)慢產(chǎn)品。 Gradchef · 畢老師運(yùn)營(yíng) 這明顯是廣告,但為什么要在這里發(fā)? 過去一段時(shí)間,由于團(tuán)隊(duì)中的各種高富帥、人生淫家都在全世界旅游,我們的開發(fā)進(jìn)度比較慢(當(dāng)然之前也一直很慢,因?yàn)橄胍鲆粋€(gè)慢產(chǎn)品)。但是,我們一直都在堅(jiān)...
摘要:項(xiàng)目需求寫完有一段時(shí)間了,但是還是想回過來總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)化等,二是對(duì)坑的地方做個(gè)記錄,避免以后遇到類似的問題。需求利用微信強(qiáng)大的社交能力通過小程序達(dá)到裂變的目的,拉取新用戶。摘要: 小程序開發(fā)必備技能啊... 原文:小程序如何生成海報(bào)分享朋友圈 作者:小白 Fundebug經(jīng)授權(quán)轉(zhuǎn)載,版權(quán)歸原作者所有。 項(xiàng)目需求寫完有一段時(shí)間了,但是還是想回過來總結(jié)一下,一是對(duì)項(xiàng)目的回顧優(yōu)...
閱讀 1059·2021-11-23 10:11
閱讀 3905·2021-11-16 11:50
閱讀 962·2021-10-14 09:43
閱讀 2746·2021-10-14 09:42
閱讀 2747·2021-09-22 16:02
閱讀 1091·2019-08-29 10:57
閱讀 3406·2019-08-29 10:57
閱讀 2308·2019-08-26 13:52