Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- change_img={
- x:7,
- y:10,
- sort:4,
- delay:{
- st:5000,
- animate:1000,
- cadr:50
- },
- div_id:'slider_photo'
- }
- if(document.addEventListener)window.addEventListener("load",function(){change_div_images.init()},true);
- else if(document.attachEvent)window.attachEvent("onload",function(){change_div_images.init()});
- else window.onload=function(){change_div_images.init()};
- change_div_images={
- init:function(){
- change_img_x=0;change_img_y=0;src_i=0;arr_chagr=0;
- if(change_img.sort==4||change_img.sort==5){regular=change_img.delay.cadr;}
- arr_chagr=change_div_images.get_array_change(change_img.x*change_img.y);
- r=document.getElementById(change_img.div_id).children;
- src_i=new Array();
- x=0;zind=10;
- for(i=0;i<r.length;i++){src_i[i]=r[i].src;r[i].className='img_old_del'}
- d=document.createElement('DIV');
- d.style.position='absolute';
- d.className='img_change_b';
- d.id='img_change_0';
- document.getElementById(change_img.div_id).appendChild(d);
- change_img_x=(r[0].height/change_img.x+'').replace(/(.*)\.(.*)/,"$1")-1+1;
- change_img_y=(r[0].width/change_img.y+'').replace(/(.*)\.(.*)/,"$1")-1+1;
- r_len=change_div_images.getElementsByClass('img_old_del');
- for(i=0;i<r_len.length;i++){
- r_len[i].parentNode.removeChild(r_len[i]);
- }
- change_div_images.create_div_img();
- referrer=change_div_images.getElementsByClass('img_change_s_0');
- change_div_images.start_change_img();
- },
- start_change_img:function(){
- x++;y=x-1;
- len=src_i.length;
- if(x>=len)x=0;
- if(y<0)y=len-1;
- img=document.getElementById('img_change_0');
- img.style.background='url(\''+src_i[y]+'\')';
- img.style.width=change_img.y*change_img_y+'px';
- img.style.height=change_img.x*change_img_x+'px';
- m=0;
- for(i=0;i<change_img.x;i++)
- for(k=0;k<change_img.y;k++){
- referrer[m].style.background='url(\''+src_i[x]+'\')';
- referrer[m].style.backgroundPosition='-'+(change_img_y*k)+'px -'+(change_img_x*i)+'px';
- referrer[m].style.opacity=0;
- referrer[m].style.width=0;
- referrer[m].style.height=0;
- m++;
- }
- change_div_images.div_animate();
- setTimeout(change_div_images.start_change_img,change_img.delay.st);
- },
- div_animate:function(){
- s=0;
- if(change_img.sort==4||change_img.sort==5){
- change_img.delay.cadr=regular;
- del_rem=change_img.x*change_img.y/2;
- }
- setTimeout(ferter,change_img.delay.cadr);
- function ferter(){
- if(s>=change_img.x*change_img.y)return;
- $(referrer[arr_chagr[s++]]).animate({opacity:1,width:change_img_y,height:change_img_x},change_img.delay.animate);
- if(change_img.sort==4||change_img.sort==5){
- if(s<del_rem)setTimeout(ferter,change_img.delay.cadr-=change_img.delay.cadr/25);
- else setTimeout(ferter,change_img.delay.cadr+=change_img.delay.cadr/25);
- }
- else setTimeout(ferter,change_img.delay.cadr);
- }
- },
- create_div_img:function(){
- x=0;
- for(i=0;i<change_img.x;i++)
- for(k=0;k<change_img.y;k++){
- d=document.createElement('DIV');
- d.style.position='absolute';
- d.style.top=change_img_x*i+'px';
- d.style.left=change_img_y*k+'px';
- d.style.opacity=0;
- d.style.zIndex=10;
- d.style.background='url("'+src_i[x]+'")';
- d.className='img_change_s_0';
- d.style.backgroundPosition='-'+(change_img_y*k)+'px -'+(change_img_x*i)+'px';
- document.getElementById('img_change_'+x).appendChild(d);
- }
- },
- get_array_change:function(x){
- reff=new Array();
- for(i=0;i<x;i++)reff[i]=i;
- switch(change_img.sort){
- default:
- case 0: return reff;break;
- case 1: return reff.reverse();break;
- case 2: return array_x();break;
- case 3: return array_x().reverse();break;
- case 4: return array_casc();break;
- case 5: return array_casc().reverse();break;
- }
- function array_x(){
- arr=new Array();es=0;
- for(i=0;i<change_img.y;i++)
- for(k=0;k<change_img.x;k++){
- arr[es++]=reff[i+k*change_img.y];
- }
- return arr;
- }
- function array_casc(){
- arr=new Array();sr=change_img.y-change_img.x;
- es=0;rem_x=-1;fer_y=0;rif=-1;
- for(i=0;i<change_img.x;i++){
- rif++;gren=0;
- rem_x+=rif+1;fer_y=rif;
- keyt=rem_x;miss=0;
- for(k=0;k<change_img.y;k++){
- if(k)keyt+=fer_y;
- if(fer_y<change_img.x&&!gren)fer_y++;
- else{miss++}if(miss>=sr&&k){fer_y--;gren=1;}
- arr[keyt]=reff[es++];
- }
- }
- return arr;
- }
- },
- in_array:function(what,where){
- for(var i=0;i<where.length;i++)if(what==where[i])return true;
- return false;
- },
- getElementsByClass:function(searchClass,node,tag)
- {
- var classElements=[];
- if(node==null)node=document;
- if(tag==null)tag='*';
- els=node.getElementsByTagName(tag);
- elsLen=els.length;
- pattern=new RegExp("(^|\s)"+searchClass+"(\s|$)");
- for(i=0;i<elsLen;i++)if(pattern.test(els[i].className))classElements[classElements.length]=els[i];
- return classElements;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement