最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue+element ui實現(xiàn)錨點定位

 更新時間:2021年06月29日 11:17:42   作者:sj1527382290  
這篇文章主要為大家詳細介紹了vue+element ui實現(xiàn)錨點定位,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue + element ui 實現(xiàn)錨點定位的具體代碼,供大家參考,具體內容如下

vue

<el-row :gutter="20">
   <el-col :span="3">
    <!--導航選擇事件-->
    <el-menu :default-active="activeStep" @select="jump">
     <el-menu-item v-for="(item,index) in menuData" :index="`${index}`" :key="item.subjectId">
      <i class="el-icon-menu"></i>
      <span slot="title">{{item.subjectName}}</span>
     </el-menu-item>
    </el-menu>
   </el-col>
   <!--綁定scroll事件需要監(jiān)聽-->
   <el-col :span="21" class="scroll_cls" @scroll="onScroll">
    <div v-for="(item,index) in tableObject" :key="index" style="height:500px">
     <div class="title scroll-item" :id="item.name">{{item.name}}</div>
     <el-table :data="item.rows" :key="index">
      <el-table-column label="序號" type="index" width="50"></el-table-column>
      <el-table-column prop="channelId" label="渠道/團隊id"></el-table-column>
      <el-table-column prop="channelName" label="渠道/團隊"></el-table-column>
      <el-table-column prop="ruleCode" label="分配方案id"></el-table-column>
      <el-table-column prop="ruleName" label="分配方案名稱"></el-table-column>
      <el-table-column prop="ruleVersion" label="版本號"></el-table-column>
      <el-table-column prop="hierarchy" label="級別">
       <template slot-scope="scope">
        <span>{{scope.row.hierarchy == 1 ? '項目' : '渠道團隊'}}</span>
       </template>
      </el-table-column>
      <el-table-column label="有效期">
       <template slot-scope="scope">
        <span>{{scope.row.beginTime + '-' + scope.row.endTime}}</span>
       </template>
      </el-table-column>
      <el-table-column prop="creatorName" label="操作人"></el-table-column>
      <el-table-column prop="createTime" label="操作時間"></el-table-column>
      <el-table-column prop="orderCnt" label="關聯(lián)訂單">
       <template slot-scope="scope">
        <el-button
         @click="orderHandleClick(scope.row.orderCnt)"
         type="text"
         size="small"
        >{{scope.row.orderCnt}}</el-button>
       </template>
      </el-table-column>
      <el-table-column label="操作">
       <template slot-scope="scope">
        <el-button @click="settingHandleClick(scope.row)" type="text" size="small">設置分配方案</el-button>
       </template>
      </el-table-column>
     </el-table>
     <el-pagination
      v-if="item.total > 5"
      style="margin-top: 15px"
      size="small"
      @size-change="handleSizeChange($event,index)"
      @current-change="handleCurrentChange($event,index)"
      :current-page="ruleForm.ageNum"
      :page-sizes="[10, 30, 50, 100]"
      :page-size="ruleForm.pageSize"
      layout="total, sizes, prev, pager, next"
      :total="item.total"
     ></el-pagination>
    </div>
   </el-col>
</el-row>

js

// 滾動觸發(fā)按鈕高亮
methods: {
  onScroll(e) {
            let scrollItems = document.querySelectorAll(".scroll-item");
            console.log(scrollItems)
            console.log(e)
   for (let i = scrollItems.length - 1; i >= 0; i--) {
    // 判斷滾動條滾動距離是否大于當前滾動項可滾動距離
    let judge =
     e.target.scrollTop >=
     scrollItems[i].offsetTop - scrollItems[0].offsetTop;
    if (judge) {
                    console.log(i)
     this.activeStep = i.toString();
     break;
    }
   }
  },
  jump(index) {
            console.log(index)
   let target = document.querySelector(".scroll_cls");
   let scrollItems = document.querySelectorAll(".scroll-item");
   // 判斷滾動條是否滾動到底部
   if (target.scrollHeight <= target.scrollTop + target.clientHeight) {
                console.log(index)
                console.log(typeof index)
    this.activeStep = index;
   }
            let total = scrollItems[index].offsetTop - scrollItems[0].offsetTop; // 錨點元素距離其offsetParent(這里是body)頂部的距離(待滾動的距離)
            console.log(total)
            let distance = document.querySelector(".scroll_cls").scrollTop; // 滾動條距離滾動區(qū)域頂部的距離
            console.log(distance)
   // let distance = document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset // 滾動條距離滾動區(qū)域頂部的距離(滾動區(qū)域為窗口)
   // 滾動動畫實現(xiàn), 使用setTimeout的遞歸實現(xiàn)平滑滾動,將距離細分為50小段,10ms滾動一次
   // 計算每一小段的距離
   let step = total / 50;
   if (total > distance) {
    smoothDown(document.querySelector(".scroll_cls"));
   } else {
    let newTotal = distance - total;
    step = newTotal / 50;
    smoothUp(document.querySelector(".scroll_cls"));
   }

   // 參數(shù)element為滾動區(qū)域
   function smoothDown(element) {
    if (distance < total) {
     distance += step;
                    element.scrollTop = distance;
     setTimeout(smoothDown.bind(this, element), 10);
    } else {
     element.scrollTop = total;
    }
   }

   // 參數(shù)element為滾動區(qū)域
   function smoothUp(element) {
    if (distance > total) {
     distance -= step;
     element.scrollTop = distance;
     setTimeout(smoothUp.bind(this, element), 10);
    } else {
     element.scrollTop = total;
    }
   }

   document.querySelectorAll('.scroll-item').forEach((item, index1) => {
     if (index === index1) {
       item.scrollIntoView({
         block: 'start',
         behavior: 'smooth'
       })
     }
   })
  },
  },
 mounted() {
       this.$nextTick(() => {
           console.log(1)
           window.addEventListener('scroll', this.onScroll,true)
       })
    },

css

.scroll_cls {
    height: 500px;
 overflow: auto;
}

轉載自:原文鏈接點擊這里

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Element?ui關閉el-dialog時如何清除數(shù)據(jù)

    Element?ui關閉el-dialog時如何清除數(shù)據(jù)

    這篇文章主要介紹了Element?ui關閉el-dialog時如何清除數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue3的ref、isRef、toRef、toRefs、toRaw詳細介紹

    vue3的ref、isRef、toRef、toRefs、toRaw詳細介紹

    本文詳細講解了vue3的ref、isRef、toRef、toRefs、toRaw,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • vue實現(xiàn)購物車案例

    vue實現(xiàn)購物車案例

    這篇文章主要為大家詳細介紹了vue實現(xiàn)購物車案例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • vue中利用three.js實現(xiàn)全景圖的完整示例

    vue中利用three.js實現(xiàn)全景圖的完整示例

    這篇文章主要給大家介紹了關于vue中利用three.js實現(xiàn)全景圖的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • Vue學習筆記分享之Vue組件化編程

    Vue學習筆記分享之Vue組件化編程

    這篇文章主要介紹了Vue學習筆記分享之Vue組件化編程,文中把知識點都一一羅列出來了,方便整理學習,需要的朋友可以參考下
    2023-03-03
  • vue項目如何解決數(shù)字計算精度問題

    vue項目如何解決數(shù)字計算精度問題

    這篇文章主要介紹了vue項目如何解決數(shù)字計算精度問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue3單文件組件中style特性的深入講解

    vue3單文件組件中style特性的深入講解

    單文件就是把一個頁面拆分為多個,多層次的組件,通過多層引用,大大縮小vue文件的長度和頁面復雜度,下面這篇文章主要給大家介紹了關于vue3單文件組件中style特性的相關資料,需要的朋友可以參考下
    2021-09-09
  • Vue實現(xiàn)的父組件向子組件傳值功能示例

    Vue實現(xiàn)的父組件向子組件傳值功能示例

    這篇文章主要介紹了Vue實現(xiàn)的父組件向子組件傳值功能,結合完整實例形式簡單分析了vue.js組件傳值的相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • vue3中使用pinia(大菠蘿)狀態(tài)管理倉庫的項目實踐

    vue3中使用pinia(大菠蘿)狀態(tài)管理倉庫的項目實踐

    本文主要介紹了vue3中使用pinia(大菠蘿)狀態(tài)管理倉庫,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • Vue Extends 擴展選項用法完整實例

    Vue Extends 擴展選項用法完整實例

    這篇文章主要介紹了Vue Extends 擴展選項用法,結合完整實例形式分析了Vue Extends 擴展選項相關使用技巧與操作注意事項,需要的朋友可以參考下
    2019-09-09

最新評論

兴国县| 渭源县| 阿城市| 庆云县| 米林县| 上犹县| 湟中县| 莱芜市| 桑日县| 上栗县| 武川县| 唐河县| 万宁市| 积石山| 泰来县| 汶上县| 临漳县| 泗洪县| 冷水江市| 建始县| 周至县| 虎林市| 堆龙德庆县| 巴南区| 大埔区| 华宁县| 海南省| 靖西县| 荆门市| 福州市| 孟州市| 常熟市| 同仁县| 浦江县| 迁安市| 米林县| 如皋市| 两当县| 察雅县| 谢通门县| 绩溪县|