本文实例为大家分享了js轮播图的插件化封装代码,供大家参考,具体内容如下
具体代码如下:
~function(){
function AutoBanner(curEleId,ajaxURL,interval){
//把之前存储获取元素的变量都作为当前实例的私有属性
this.banner = document.getElementById(curEleId);
this.bannerInner = utils.firstChild(this.banner);
this.bannerTip = utils.children(this.banner,"ul")[0];
this.bannerlink = utils.children(this.banner,'a');
this.bannerLeft = this.bannerlink[0];
this.bannerRight = this.bannerlink[1];
this.divList = this.bannerInner.getElementsByTagName('div');
this.imgList = this.bannerInner.getElementsByTagName('img');
this.oLis = this.bannerTip.getElementsByTagName('li');
//之前的全局变量也应该变为自己的私有属性
this.jsonData = null;
this.interval = interval || 3000;
this.autoTimer = null;
this.step = 0;
this.ajaxURL = ajaxURL;
//返回当前实例
return this.init();
}
AutoBanner.prototype = {
constructor:AutoBanner,
//Ajax请求数据
getdata:function(){
var _this = this;
var xhr = new XMLHttpRequest;
xhr.open("get",this.ajaxURL + "?_="+Math.random(),false);
xhr.onreadystatechange = function(){
if(xhr.readyState ===4 && /^2d{2}$/.test(xhr.status)){
_this.jsonData = utils.formatJSON(xhr.responseText)
}
}
xhr.send(null)
},
//实现数据绑定
binddata:function(){
var str = "",str2 = "";
if(this.jsonData){
for(var i = 0,len=this.jsonData.length;i":str2+=""
}
}
this.bannerInner.innerHTMl = str;
this.bannerTip.innerHTML = str2;
},
//延迟加载
lazyImg:function(){
var _this = this;
for(var i = 0,len = this.imgList.length;i
精彩专题分享:jQuery图片轮播 Javascript图片轮播 Bootstrap图片轮播
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。



