Browse Source

try source

liguorui 7 years ago
parent
commit
60ae099b68
4 changed files with 109 additions and 20 deletions
  1. 9 1
      app.wxss
  2. 82 0
      common/topsource.js
  3. 2 12
      pages/index/index.js
  4. 16 7
      pages/index/index.wxml

+ 9 - 1
app.wxss

@@ -15,7 +15,6 @@
   text-align: center;
   line-height: 36rpx;
   font-size:26rpx;
-  color:#cccccc;
   background: white;
 }
 .page_head{
@@ -44,6 +43,15 @@
   line-height: 44rpx;
   text-align: center;
 }
+.page_head_source{
+  overflow: hidden;
+  line-height: 80rpx;
+  background-color: #fede18;
+  color:#aaaaaa;
+  text-align: center;
+  font-size: 22rpx;
+  height: 0rpx;
+}
 
 /*************footer***************/
 .page_footer_place{

+ 82 - 0
common/topsource.js

@@ -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);
+}

+ 2 - 12
pages/index/index.js

@@ -3,6 +3,7 @@
 import {get,post} from "../../common/request.js"
 import stylemap from "../../common/stylemap"
 import pathmap from "../../common/pathmap"
+import bindTopSource from "../../common/topsource"
 import { retCartData} from "../../data/car"
 import bindSearch from "../../module/search/search.js"
 const app = getApp();
@@ -26,6 +27,7 @@ Page({
     this.loadRecommendedCar();
     this.loadLikeCar();
     bindSearch(this);
+    bindTopSource(this);
   },
   loadBanner: function () {
     var _self = this;
@@ -126,18 +128,6 @@ Page({
     },function(){
 
     })
-  },
-  consoleScroll:function(e){
-    console.log("scroll",e)
-  },
-  consoleScrollUp:function(e){
-    console.log("scrollup",e)
-  },
-  consoleMove:function(e){
-    console.log("consoleMove",e)
-  },
-  consoleEnd:function(e){
-    console.log("consoleEnd",e)
   }
 //   /*
 //     搜索失去聚焦事件

+ 16 - 7
pages/index/index.wxml

@@ -8,19 +8,28 @@
 <scroll-view 
   class="conent"
   style="height:{{windowh}}rpx;"
-  scroll-y
-  bindscroll="consoleScroll"
-  bindtouchend="consoleEnd"
-  bindscrolltoupper="consoleScrollUp"
+  scroll-y="{{scrollsource.startdot&&scrollsource.distance>0?false:true}}"
+  bindscroll=""
+  upper-threshold="0"
+  bindscrolltoupper="sourceUp"
+  bindtouchstart="{{scrollsource.scrolltop?'':'sourceStart'}}"
+  bindtouchend="{{scrollsource.startdot?'sourceEnd':''}}"
+  bindtouchcancel="{{scrollsource.startdot?'sourceEnd':''}}"
 >
   <view
-    bindtouchmove="consoleMove"
-  >
+    bindtouchmove="sourceMove"
+  >    
     <template 
       is="header" 
       data="{{title:'第一好车',headerheight:headerheight}}"
-    />
+    />    
     <include src="../../module/search/search.wxml"/>
+    <view 
+      class="page_head_source"
+      style="height:{{scrollsource.distance/2}}rpx;"
+    >
+      本网页由m.dyhc.com提供
+    </view>
     <template is="banner" data="{{banner:banner}}"/>
     <view class="nav_list">
       <view class="nav_item">