1. 程式人生 > >滑動,實現tab動態切換

滑動,實現tab動態切換

html

<div class="headmm"  id="head2">

js

//獲取head2元素的高度

head2hei:function () {

      return document.getElementById('head2').offsetHeight;

    }

//點選導航後控制滾動條移動的位置

 changeFirstNav: function (data) {
      var idheight = document.getElementById(data).offsetTop
      let len = this.head2hei
      if(!this.firstNavShowTop ){
        len= len +parseInt(this.head2hei)
      };
      document.documentElement.scrollTop = document.body.scrollTop = idheight - len
      // this.firstNavShowTop = true
//    document.getElementById(data).scrollIntoView(true)
      this.pageSlideControl(this.head2hei )

    },

    //根據滾動條跟頂部到某元素的距比較現實導航動態切換
    pageSlideControl: function (data) {
      let that = this
      window.onscroll = function () {
        let banner = document.getElementById('banner').offsetTop
        let afterServerSection = document.getElementById('afterServerSection').offsetTop
        let problemSection = document.getElementById('problemSection').offsetTop
        let t = document.documentElement.scrollTop  || document.body.scrollTop
       if(data){
          t = t + parseInt(data)
       }
       let t2= t
       if(!that.firstNavShowTop){
         t2 = t2 + parseInt(data)
       }
        // 第二層導航滑動在可視窗口裡面,則固定在最上面
        if ( banner < 0 || t < banner) {
          that.firstNavShowTop = false
        } else {
          that.firstNavShowTop = true
        }


        // 控制滑塊的地址 詳情
        if (afterServerSection > t2) {
          that.firstNavList.productDetailSection = true
        } else {
          that.firstNavList.productDetailSection = false
        }
        // 控制滑塊的地址 售後
        if (afterServerSection <= t2  && t2 < problemSection) {
          that.firstNavList.afterServerSection = true
        } else {
          that.firstNavList.afterServerSection = false
        }
        // 控制滑塊的地址 常見問題
        if (t2  >= problemSection) {
          that.firstNavList.problemSection = true
        } else {
          that.firstNavList.problemSection = false
        }
      }
    },

相關推薦

滑動實現tab動態切換

html<div class="headmm"  id="head2">js//獲取head2元素的高度head2hei:function () {      return document.getElementById('head2').offsetHeight

Angular 實現tab 動態切換

關於在tabset中動態載入Component ,點選檢視我之前的文章 介紹瞭如何使用動態載入Component 的方式實現tabset 標籤頁,從而達到頁面切換。 這種方式缺點就是無法使用Angular 的路由來跳轉,多個頁面如果如果某個元素的id 值相同會有

不改動duilib原始碼的情況下實現tab切換登入介面EDIT控制元件功能

 由於duilib是開源無專人管理的介面庫,導致網上流傳了各式各樣的版本。今天某某修復了這個bug上傳一版,明天某某修復另一個bug上傳別的版本,太過雜亂。而且之所以寫這篇文章,是因為公司用的duilib庫,存在EDIT控制元件對table鍵支援的bug。即焦點混亂。花了近一

element,點選檢視實現tab切換

點選檢視,實現tab切換:   程式碼如下: <template> <div> <el-table :data="tableData" style="width: 100%"> <el-table-colum

html+css+jQuery+JavaScript實現tab自動切換功能

() conf charset 臨時 effect 保存 sheet http oat tab1.html內容 <!DOCTYPE html> <html> <head> <meta charset="U

JavaScript實現Tab切換

取出 .html 標簽設置 markdown 選項 保持 for循環 enter 基於 本文最初發表於博客園,並在GitHub上持續更新前端的系列文章。歡迎在GitHub上關註我,一起入門和進階前端。 以下是正文。 京東網頁上,可以看到下面這種tab欄的切換: 我

【Unity】用Shader實現圖片的區域遮罩支援半透明實現地圖動態上色功能

一個專案,做世界地圖時,希望未開啟的地塊是線稿,新地塊開啟時,做一個上色處理。 想到的方案就是:上了色的彩圖蓋線上稿上,然後用mask 控制彩圖的區域性顯隱。 網上找了一個,可以半透明遮罩的shader:https://www.jianshu.com/p/1d9d439c28fa 要控制不同區塊

springboot+mybatis多資料來源配置AOP註解動態切換資料來源

轉載至:https://blog.csdn.net/xiaosheng_papa/article/details/80218006 親測有效。 注:有些系統中已經配置了單資料來源,現在要轉成多資料來源,可能需要額外的配置。拿我自己當前專案來說: 專案在啟動類中配置了單資料來源:

android自定義View之仿通訊錄側邊欄滑動實現A-Z字母檢索

我們的手機通訊錄一般都有這樣的效果,如下圖: OK,這種效果大家都見得多了,基本上所有的android手機通訊錄都有這樣的效果。那我們今天就來看看這個效果該怎麼實現。 一.概述 1.頁面功能分析 整體上來說,左邊是一個ListView,右邊是一個自定義View,但

vue實現tab路由切換元件

使用vue自帶的vue-router.js路由實現分頁切換功能 實現圖片如下 下列為實現程式碼 css: *{ margin: 0; padding: 0; } #app ul{

JS 實現 Tab標籤切換功能

Tab標籤切換    效果圖:       HTML部分: <div class="wrap"> <ul id="tag"> <li class="current" >標籤一</li> <li>標

在UITableView中識別左右滑動實現上下翻頁的功能

阿里雲  >  教程中心   >  ios教程  >  在UITableView中識別左右滑動,實現上下翻頁的功能  

測試程式碼解決java gui swing多執行緒介面假死、僵死問題實現介面動態重新整理動態同步更新資料

(原創) 測試程式碼,解決java gui swing多執行緒介面假死、僵死問題,實現介面動態重新整理,動態更新,同步顯示資料 主類: package testguimulitiplethread; /** * * @author Administrator */ public class Mai

用js給div繫結事件實現點選切換效果的幾種方式總結

用js給div繫結事件,實現點選切換效果,總結有如下幾種方式 script type="text/javascript"> function btnAction() { var titleNValue = document.getElementBy

jqGrid colModel 中colModel 後臺生成傳入前端實現jqGrid 動態

問題描述:在做後臺管理的時候我們使用了jqGrid  來控制前端顯示,但是在開發中碰到了一種特殊情況,即colModel 不確定的情況,原因是我們在專案中通過構造器生成了大量的模板,而且這個模板數目是不斷增長的,所以需要一種後臺控制前端顯示的方法。 剛開始查詢了大量的資料,

用多種方法實現tab標籤切換

在開始之前先談談局外話,最近正在找工作,發現好多公司都要求在某某上面有文章發表,一次文章都沒發過的我頓時感覺好尷尬,忙裡偷閒發表點文章,畢竟第一次發,還有很多很多需要學習的地方,技術方面還有欠缺,望前輩們多多指點迷津! 昨天去面試,面試官讓我手寫一段程式碼實現

微信小程式實現tab頁面切換功能

wxml<scroll-view scroll-x="true" class="ip_tab_comtainer"> <view class="ip_tab_comtainer_padd"></view> <block wx:for="{{ips}}" wx:

jquery實現tab切換

關聯設定       <h2 class="h2_ch"><span id="tabs" class="l">        <a href="javascript:void(0);" ref="#tab_1" title="基本資訊" clas

關於Spring3 + Mybatis3整合時多資料來源動態切換的問題

以前的專案經歷中,基本上都是Spring + Hibernate + Spring JDBC這種組合用的多。至於MyBatis,也就這個專案才開始試用,閒話不多說,進入正題。 以前的這種框架組合中,動態資料來源切換可謂已經非常成熟了,網上也有非常多的部落格介

Spring+Mybatis多資料來源配置(四)——AbstractRoutingDataSource實現資料來源動態切換

有時候需要在程式中動態切換資料來源,那麼這個系列的之前的博文所闡述的方法就不再使用了,總不能通過程式更改config.properties檔案的dataSource的值,然後再重啟web伺服器以便載入applicationContext.xml檔案。這裡講訴的是如何利用Ab