|
@@ -0,0 +1,82 @@
|
|
|
+const scrollevents = {
|
|
|
+ sourceUp:function(e){
|
|
|
+ var obj = {
|
|
|
+ scrolltop:0,
|
|
|
+ distance:0,
|
|
|
+ startdot:""
|
|
|
+ }
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(this.data.scrollsource,obj)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ sourceScroll:function(e){
|
|
|
+ var scrolltop = e.detail.scrollTop;
|
|
|
+ var obj = {scrolltop:scrolltop};
|
|
|
+ if(scrolltop&&this.data.scrollsource.startdot){
|
|
|
+ obj.startdot = "";
|
|
|
+ obj.distance = 0;
|
|
|
+ obj.scrolltop = 0
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(this.data.scrollsource,obj)
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(this.data.scrollsource,{
|
|
|
+ scrolltop:scrolltop
|
|
|
+ })
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log("sourceScroll",e,scrolltop)
|
|
|
+ },
|
|
|
+ sourceMove:function(e){
|
|
|
+ var source = this.data.scrollsource
|
|
|
+ if(e.timeStamp-source.timeStamp>200){
|
|
|
+ if(source.startdot){
|
|
|
+ var startdot = source.startdot;
|
|
|
+ var enddot = e.changedTouches[0];
|
|
|
+ var distance = enddot.pageY-startdot.pageY;
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(source,{distance:distance})
|
|
|
+ })
|
|
|
+ }else if(!source.scrolltop){
|
|
|
+ var startdot = e.changedTouches[0];
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(source,{
|
|
|
+ startdot:startdot,
|
|
|
+ timeStamp:e.timeStamp
|
|
|
+ }),
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //console.log("consoleMove",e)
|
|
|
+ },
|
|
|
+ sourceStart:function(e){
|
|
|
+ //console.log("sourceStart",e)
|
|
|
+ var startdot = e.changedTouches[0];
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(this.data.scrollsource,{
|
|
|
+ startdot:startdot,
|
|
|
+ timeStamp:e.timeStamp
|
|
|
+ })
|
|
|
+ });
|
|
|
+ },
|
|
|
+ sourceEnd:function(e){
|
|
|
+ this.setData({
|
|
|
+ scrollsource:Object.assign(this.data.scrollsource,{
|
|
|
+ distance:0,
|
|
|
+ startdot:""
|
|
|
+ })
|
|
|
+ })
|
|
|
+ //console.log("consoleEnd",e)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+export default function(item){
|
|
|
+ item.setData({
|
|
|
+ scrollsource:{
|
|
|
+ scrolltop:0
|
|
|
+ }
|
|
|
+ })
|
|
|
+ Object.assign(item,scrollevents);
|
|
|
+}
|