百度文库复制方法

即时对象初始化方法

(function(){
//code here
}).init()
常见错误
1.在对象每个方法内部,提前保存this指针,一遍下面引用,不然进入setinterval
内部指针变化,this指示错误。
2.当点击一个按钮发请求时??
3.jquery当取到一个元素为空时 返回a= [] 判断为空,要使用a.length===0 不能使用!!a


var test=({
initTop:'300px',
pageHeight:1033+8,
el:'[id^=pageNo]',
init:function(){
var c=this;

$('body').animate({scrollTop:c.initTop},1000,function(){
setTimeout(function(){c.scrolPage();},4000)
var ele=$('.fc2e');
if(ele.length>0){
ele.eq(0).click();
console.log('wait');
}

});

return c;
},
getContent:function(){//取内容
var p=this.getPara();
var str='';
if(p.length!=0){
for(var i=0;i str+=p.eq(i).html().replace(/ /g,'');
}
}else{
clearInterval(this.timer);
$('body').animate({scrollTop:0},3000)
setTimeout(function(){alert('已复制至剪切板')},4000)
return ''
}
return str;
},
getPara:(function(){//获取对应页上的p元素,闭包存i
var i=1;
var c=this;
return function(){
var idname='#'+'pageNo-'+i++;
console.log(idname)
var page=$(idname)||null;
if(page.length==0) {
clearInterval(this.timer);
$('body').animate({scrollTop:0},3000)
setTimeout(function(){alert('已复制至剪切板')},4000)
return ''
}
return p=page?$(idname).find('p'):null;
}})(),
scrolPage:function(){
var c=this;
var timer=null;
c.result='';
var num=1;
var dirtah=c.pageHeight;
$('body').animate({scrollTop:c.initTop},100)
this.timer=setInterval(function(){
if(num){
dirtah=0;
num=0;
}else{
dirtah=c.pageHeight
}
$('body').animate({scrollTop:'+='+dirtah+'px'},1000,function(){
c.result+=c.getContent();
copy(c.result);
});

},1500)
}

}).init()

你可能感兴趣的:(web)