var viewBasic = {
container:"#data-box",
options:{
option:null,
product_type:'pc',
list_type:'harvesting',
resource_type:'tmr',
Period_time:null
},
scroll:function(scrollId){
return new iScroll(scrollId, {snap: 'li',momentum: false,hScroll:true,hScrollbar: false,vScrollbar: false });
}
};
function tickerPage(){
this.url = '';
this.columns=['AUTO','LIFE'];
this.players=[null,null];
this.scrolls=[null,null];
};
tickerPage.prototype = viewBasic;
tickerPage.prototype.afterEnd = function(){
this.tickerDataDemo();
/*初始化 滚动条 */
var o = this;
setTimeout(function(){
for(var i=0; i< o.columns.length; i++){
o.scrolls[i] = o.scroll('listScroller_'+i);
}
},300);
};
tickerPage.prototype.tickerDataDemo = function(){
var o = this,str = "";
str +=' <div id="data-list">';
for(var i=0; i< o.columns.length; i++){
str +=' <div class="data-list-item">';
str +=' <div class="data-list-bar">';
str +=' <label>'+o.columns[i]+'</label>';
str +=' </div>';
str +=' <div class="data-list-content">';
str +=' <div class="wrapper" id="listScroller_'+i+'">';
str +='<div class="scroller"><ul></ul></div>';
str +=' </div>';
str +=' </div>';
str +=' </div>';
}
str +=' </div>';
$(this.container).html(str);
/* 模拟数据 begin*/
var dom = new Array;
for(var j=0; j<20; j++){
dom.pushu( "<li>test example ...</li>")
}
/* 模拟数据 end*/
for(var i=0; i<2; i++){
o.addItems(i,dom)
}
}
tickerPage.prototype.addItems = function(i,dom){
var o = this,target = $("#listScroller_"+i+" > .scroller:first");
var elms = "",w = target.width();
for(var n=0; n<dom.length; n++){
elms += dom[n];
}
/*
1:向前填充数据
2:修改上下错落样式 --> 修改容器宽度
3:滚动条移动到第一个元素
*/
$("ul:first",target).prepend(elms);
o.setItemsPadding(target);
var unitWidth = $("li",target).length == 0 ? 0:$("li:first",target).width();
var wrapperWidth = w + unitWidth * dom.length;
target.width(wrapperWidth);
if(o.scrolls[i]){
o.scrolls[i].refresh;
o.scrolls[i].scrollToElement('li:nth-child(1)',800);
}}var view = new tickerPage()
view.tickerDataDemo()
通过以上方法实例化出来的 iscroll 对象不能正常工作。不知道是哪里的问题
虽然有点长,还是希望大家可以看完他
container:"#data-box",
options:{
option:null,
product_type:'pc',
list_type:'harvesting',
resource_type:'tmr',
Period_time:null
},
scroll:function(scrollId){
return new iScroll(scrollId, {snap: 'li',momentum: false,hScroll:true,hScrollbar: false,vScrollbar: false });
}
};
function tickerPage(){
this.url = '';
this.columns=['AUTO','LIFE'];
this.players=[null,null];
this.scrolls=[null,null];
};
tickerPage.prototype = viewBasic;
tickerPage.prototype.tickerDataDemo = function(){
var o = this,str = "";
str +=' <div id="data-list">';
for(var i=0; i< o.columns.length; i++){
str +=' <div class="data-list-item">';
str +=' <div class="data-list-bar">';
str +=' <label>'+o.columns[i]+'</label>';
str +=' </div>';
str +=' <div class="data-list-content">';
str +=' <div class="wrapper" id="listScroller_'+i+'">';
str +='<div class="scroller"><ul></ul></div>';
str +=' </div>';
str +=' </div>';
str +=' </div>';
}
str +=' </div>';
$(o.container).html(str);
o.getData();
}
tickerPage.prototype.getData = function(){
/* 模拟数据 begin*/
var dom = new Array;
for(var j=0; j<20; j++){
dom.pushu( "<li>test example ...</li>")
}
/* 模拟数据 end*/
for(var i=0; i<2; i++){
o.addItems(i,dom)
}
}
tickerPage.prototype.addItems = function(i,dom){
var o = this,target = $("#listScroller_"+i+" > .scroller:first");
var elms = "",w = target.width();
for(var n=0; n<dom.length; n++){
elms += dom[n];
}
/*
1:向前填充数据
2:修改上下错落样式 --> 修改容器宽度
3:滚动条移动到第一个元素
*/
$("ul:first",target).prepend(elms);
o.setItemsPadding(target);
var unitWidth = $("li",target).length == 0 ? 0:$("li:first",target).width();
var wrapperWidth = w + unitWidth * dom.length;
target.width(wrapperWidth);
if(o.scrolls[i]){
o.scrolls[i].refresh;
o.scrolls[i].scrollToElement('li:nth-child(1)',800);
}else{
//DOM元素填充完毕,滚动条尚未初始化的,在此初始化
setTimeout(function(){o.scrolls.push(o.scroll("listScroller_"+i));},300);
}
}
var view = new tickerPage()
view.tickerDataDemo();
setInterval(function(){view.getData()},5000)
这个方法我就没看到,跑到这里不会报错么?o.scrolls[i].refresh;
这是啥意思咧,难道refresh不是一个方法么??还有new iScroll的时候第一个参数可以是dom的ID么?我前一段时间用过一次iScroll,貌似传的是具体的DOM节点。
下面是他们提供的案例代码var myScroll;
function loaded() {
myScroll = new iScroll('wrapper', {
snap: true,
momentum: false,
hScrollbar: false,
onScrollEnd: function () {
document.querySelector('#indicator > li.active').className = '';
document.querySelector('#indicator > li:nth-child(' + (this.currPageX+1) + ')').className = 'active';
}
});
}document.addEventListener('DOMContentLoaded', loaded, false);