送女朋友的照片js

前端程序员给女朋友做的相册——原生JS

HTML5

今天要分享的是一款特别的 html5/css3 焦点图效果,不依赖jquery,全程JS 手写,代码量不大,百行左右,它的特别之处在于 可以多维度的切换

谁说程序员没有情调? 拿这个去给女票定制个专属相册吧

源码地址:下载

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<len; i++){

if(registeredBoxes[i].pos[‘X’]==’2′){

registeredBoxes[i].setPosition(axis,registeredBoxes[i].pos[‘Y’]+(1*dir));

}

}

slidePosY = slidePosY+dir;

}else if(axis == ‘X’){

for(var i=0; i<len; i++){

if(registeredBoxes[i].pos[‘Y’]==’2′){

registeredBoxes[i].setPosition(axis,registeredBoxes[i].pos[‘X’]+(1*dir));

}

}

slidePosX = slidePosX+dir;

}

}

本文来自网络,不代表本站立场,转载请注明出处:万道一,Wonder One » 送女朋友的照片js
莫要搞事情哦
你喜欢的人刚好也未喜欢你
张学友刘德华邓紫琪已关注
赞(0) 打赏

赏点小费吧客倌

微信扫一扫打赏