Home >php教程 >php手册 >javascript图片轮播之gallery.js

javascript图片轮播之gallery.js

WBOY
WBOYOriginal
2016-06-07 11:36:451689browse

gallery.js是独立的图片轮播javascript插件,仅仅128行代码,适合企业官网、海报宣传、精品专题等图片播放
详情请阅读:git.oschina.net/wuquanyao/Gallery.js
/*=========================================================<br>  * gallery.js <br>  * author:wuquanyao<br>  * nickname:挪威森林<br>  * email:wqynqa@163.com<br>  * date:2015-10<br>  * ver:1.0.0<br>  *=========================================================*/<br> var Gallery = {};<br> (function(Gallery){<br>     Gallery.pc = function(config)<br>     {<br>         factory(config);<br>     }<br>     Gallery.mobile = function(config)<br>     {<br>         //do something,follow up!!<br>     }<br>     var wrapper,root,len,dotWrapper,dotTag,iwidth,awidth,height,dotWrapper,duration,index=0,offset=0,prev=0;<br>     //selector,pc or mobile,dot tag,duration<br>     function factory(config)<br>     {<br>         wrapper  = document.querySelector(config['selector']);<br>         //render image<br>         create_img(config['data'], wrapper);<br>         root        = wrapper.parentNode;<br>         len         = count( wrapper);<br>         dotWrapper  = wrapper.nextSibling;<br>         dotTag      = config['dotTag'] || 'span';<br>         iwidth      = root.offsetWidth;<br>         awidth      = iwidth*len;<br>         height      = root.offsetHeight;<br>         dotWrapper  = wrapper.nextSibling;<br>         duration    = config['duration'];<br>         //Render dot<br>         create_dot();<br>         //Interval<br>         intervalmove();<br>         //Event Listener<br>         mouseaction();<br>     }<br>         <br>     function create_img(imgs, wrapper)<br>     {<br>         var tag = '', str = '';<br>             for(i in imgs){<br>                 tag = "<a><img alt="javascript图片轮播之gallery.js" ></a>";<br>                 for(key in imgs[i]){<br>                     regExp = new RegExp('(%'+key+'%)','g');<br>                     tag    = tag.replace(regExp,imgs[i][key]);<br>                 }<br>                 str+=tag;<br>             }<br>             wrapper.innerHTML = str;<br>     }<br>     function create_dot()<br>     {<br>         var span   = "<span></span>",<br>             regExp = new RegExp('(span)','g') ,<br>             span   = span.replace(regExp,dotTag),<br>             dots   = '';<br>             for(i=0;i<len></len>                 dots+=span;<br>             }<br>             dotWrapper.innerHTML = dots;<br>     }<br>     function intervalmove(type)<br>     {<br>         if(type === 'alone'){<br>             offset = index*iwidth;<br>             move();<br>         }else{<br>             dotWrapper.childNodes[index].className = 'active';<br>             window.interval = setInterval(function(){<br>                 if((index+1)                      offset = (index+1)*iwidth;<br>                     prev   = index;<br>                     index++;<br>                 }else{<br>                     prev   = index;<br>                     offset = 0;<br>                     index  = 0;<br>                 }<br>                 move();<br>             },duration);<br>         }<br>         function move(){<br>             dotWrapper.childNodes[prev].className  = 'normal';<br>             dotWrapper.childNodes[index].className = 'active';<br>             wrapper.style.transition  = "all 200ms linear 0ms";<br>             wrapper.style.transform   = "translate("+(-offset)+"px,0px)";<br>         }<br>     }<br>     function mouseaction()<br>     {<br>         function eventparse(obj,type,func){<br>             if(document.attachEvent){<br>                 var events = {click:'onclick',mouseover:'onmouseover',mouseout:'onmouseout'};<br>                 obj.attachEvent(events[type],func);<br>             }else{<br>                 var events = {click:'click',mouseover:'mouseover',mouseout:'mouseout'};<br>                 obj.addEventListener(events[type],func,false);<br>             }<br>         }<br>         <br>         function init(){<br>             eventparse(root,'mouseover',function(){<br>                 window.clearInterval(window.interval);    <br>             });<br>             eventparse(root,'mouseout',function(){<br>                 intervalmove();<br>             });<br>             for(i=0;i<len></len>                 dotWrapper.childNodes[i].index = i;<br>                 eventparse(dotWrapper.childNodes[i],'click',function(e){<br>                     prev  = index;<br>                     index = e.target.index;<br>                     intervalmove('alone');<br>                 });<br>             }<br>         }<br>         init();<br>     }<br>     function count()<br>     {<br>         return wrapper.childNodes.length;<br>     }<br> })(Gallery);效果图
javascript图片轮播之gallery.js
javascript图片轮播之gallery.js
javascript图片轮播之gallery.js

附件 gallery.zip ( 9.18 KB 下载:55 次 )

AD:真正免费,域名+虚机+企业邮箱=0元

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn