百度文库复制方法

即时对象初始化方法

(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<p.length;i++){
								str+=p.eq(i).html().replace(/&nbsp;/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()

相关推荐