亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JS控制div跳轉到指定的位置的幾種解決方案總結

2019-11-19 19:03:17
字體:
來源:轉載
供稿:網友

總結一下自己在寫這個需求遇到的問題,相信大家應該是經常遇到的。即要求滾輪滾動到指定的位置。先看下基本的解決方案。

1.給鏈接a加個#的方式來實現跳轉。(錨點方法)這里直接貼下代碼:

<div id="container">    <a href="#div1">div1</a>    <a href="#div2">div2</a>    <a href="#div3">div3</a></div>  <div id="div1">div1</div>  <div id="div2">div2</div>  <div id="div3">div3</div>

css樣式:

  div {      height: 800px;      width: 400px;      border: 2px solid black;    } #container{      position: fixed;      margin:50px 500px; }

該錨點法,不需要任何的js代碼,即可實現跳轉的方法。缺點:點擊鏈接url發生變化,刷新的話會有問題。此方法貌似只能在.html后綴的頁面才能起作用,對于.cshtml頁面不起作用。

2.用animate屬性,當點擊錨點后,頁面滾動到相應的DIV。接著上面的代碼,具體添加如下代碼:

html頁面:
  

<div id="container">     <p id="p1">div1</p>     <p id="p2">div2</p>     <p id="p3">div3</p></div>  <div id="div1">div1</div>  <div id="div2">div2</div>  <div id="div3">div3</div>

css樣式頁面同上,看下js代碼如下:

 <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>$(document).ready(function() {  $("#p1").click(function() {    $("html, body").animate({      scrollTop: $("#div1").offset().top }, {duration: 500,easing: "swing"});    return false;  });  $("#p2").click(function() {    $("html, body").animate({      scrollTop: $("#div2").offset().top }, {duration: 500,easing: "swing"});    return false;  });  $("#p3").click(function() {    $("html, body").animate({      scrollTop: $("#div3").offset().top }, {duration: 500,easing: "swing"});    return false;  });});

3.簡單的window.scrollTo方法使用,這里不再詳細說,看下用法。

即滾動到坐標為(100,500)的地方。比較單一,且沒有緩慢的效果

  function scrollWindow(){  window.scrollTo(100,500);}

4.用js的srollIntoView方法進行使用。這里貼下代碼:

html頁面:
 

 <ul>    <li><a href="javascript:;" data-tab="eat">吃飯</a></li>    <li><a href="javascript:;" data-tab="sleep">睡覺</a></li>    <li><a href="javascript:;" data-tab="walk">逛街</a></li> </ul><div >  <div data-tab="eat" style="background:cyan; height:500px;">    吃飯  </div>  <div data-tab="sleep" style="background:lightgreen;height:2000px;">    睡覺  </div>  <div data-tab="walk" style="background:LightSalmon;height:1000px;">    逛街  </div></div>

js代碼如下:

[].slice.call(document.querySelectorAll('a')).forEach(function(el){      el.addEventListener('click', function(){        var target = document.querySelector('div[data-tab=' + this.getAttribute('data-tab')+ ']' )        target.scrollIntoView(true);      }) })

注意一個問題,object.scrollIntoView(bool),前面是對象,通常原生的獲取對象都是下面的寫法:

 document.getElementById('#xxx' ).scrollIntoView(true);

那么如果用jquery來調用該方法的話,需要寫成下面這樣的:

 $('#xxx')[0].scrollIntoView(true);

5.如果需要緩慢的移動滾動可添加一個定時器??聪挛覀冞@個需求。先貼下代碼:

js部分:

 return cPageView.extend({      pageid: 10320608681,      hpageid: 10320608681,      events: {        "click .nav_list li ": "setHightLight",      },})

點擊事件部分:

//設置標簽選中,并且滾動到相應的位置     setHightLight: function (e) {       var obj = $(e.currentTarget);       var _tag = this.$el.find('.nav_list li');       var $innerText = this.$el.find('.fsp_hd');       var items = $(".fs_prd_wrap").find('.item');       this.$el.find('.nav_list li').removeClass('current');       var itemIndex = "";       var objCurrent = [];       obj.addClass('current');       var scrollMove = function (scrollTo, time) {         var scrollFrom = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;         var count = 0;         var every = 10;         scrollTo = parseInt(scrollTo);         time /= every;          var interval = setInterval(function () {           count++;           document.documentElement.scrollTop = document.body.scrollTop = (scrollTo - scrollFrom) / time * count + scrollFrom;           if (count >= time) {             clearInterval(interval);           }         }, every);       };       for (var i = 0; i < items.length; i++) {         var self = this;         items[i].index = i;         if (obj.index() == items[i].index) {           items.each(function () {             var currentItem = $(this);             // items[i].scrollIntoView(false);                  scrollMove(items[i].offsetTop-75, 500);           });                      // console.log(items[i].index);         }       }     },

看下效果如下所示:

在chrome下測試和真機測試,效果都還行,這個需求主要是,沒法通過高度來控制完成,因為,我們這個中間的內容元素都是動態加載進來的,高度是變得

因此我通過控制它的index來控制,固定其div模塊,距離頂部的高度top為75px,滾動單個的div模塊,而不是整個的body一起滾動。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩综合中文字幕| 国产精品视频精品视频| 一区二区av在线| 日韩亚洲欧美中文在线| 国产精品va在线播放我和闺蜜| 久久精品国产91精品亚洲| 精品调教chinesegay| 日韩av在线一区| 国产精品久久久久久久久久| 亚洲丝袜一区在线| 欧美黄色性视频| 色七七影院综合| 欧美亚洲在线视频| 91极品视频在线| 亚洲欧美一区二区三区情侣bbw| 欧美一级免费视频| 成人在线中文字幕| 亚洲国产另类久久精品| 亚洲а∨天堂久久精品喷水| 97视频免费在线看| 亚洲成人在线网| 亚洲美女动态图120秒| 91影视免费在线观看| 97成人超碰免| 91国内在线视频| 91中文在线观看| 久久的精品视频| 91亚洲精品久久久久久久久久久久| 国产精品女主播| 欧美性少妇18aaaa视频| 国产偷亚洲偷欧美偷精品| 中文在线资源观看视频网站免费不卡| 欧美激情图片区| 久久久亚洲欧洲日产国码aⅴ| 欧美视频第一页| 国产免费成人av| 午夜剧场成人观在线视频免费观看| 亚洲一区二区日本| 97超级碰碰碰久久久| 久久久免费电影| 一个人看的www久久| 欧美成人sm免费视频| 亚洲偷欧美偷国内偷| 日韩av电影在线播放| 91麻豆桃色免费看| 久久伊人精品一区二区三区| 亚洲精品视频久久| 中文字幕欧美专区| 亚洲人成电影在线播放| 在线播放亚洲激情| 亚洲伊人成综合成人网| 日韩欧美高清视频| 国产婷婷97碰碰久久人人蜜臀| 国产欧美精品va在线观看| 日韩一二三在线视频播| 91精品国产免费久久久久久| 国产丝袜一区二区三区免费视频| 国产欧美日韩最新| 97国产真实伦对白精彩视频8| 国产欧美日韩亚洲精品| 国产一区二区av| 深夜福利91大全| 久久精品最新地址| 久久精品国产综合| 永久免费精品影视网站| 国产精品私拍pans大尺度在线| 亚洲国产精品va| 欧美日韩国产限制| 国产在线精品一区免费香蕉| 在线成人激情视频| 亚洲精品女av网站| 精品欧美国产一区二区三区| 亚洲国产精品久久久| 久久男人资源视频| 性色av一区二区三区免费| 日韩中文字幕网站| 欧美性猛交xxxx黑人猛交| 欧美特黄级在线| 永久免费看mv网站入口亚洲| 亚洲男人天堂九九视频| 国产精品日韩精品| 亚洲色图18p| 欧美久久精品午夜青青大伊人| 搡老女人一区二区三区视频tv| 欧美丰满少妇xxxxx做受| 欧美日韩另类在线| 欧美日韩激情美女| 亚洲片在线资源| 亚洲 日韩 国产第一| 日韩免费观看网站| 欧美最猛性xxxxx免费| 欧美日韩国产激情| 色琪琪综合男人的天堂aⅴ视频| 一区二区三区视频观看| 欧美性xxxx在线播放| 亚洲国产黄色片| 国产免费一区二区三区香蕉精| 久久精品国产一区二区三区| 综合欧美国产视频二区| 国产精品成人播放| 亚洲免费伊人电影在线观看av| 国产精品一区二区久久久| 欧美性猛交xxxx乱大交蜜桃| 国产精品电影久久久久电影网| 亚洲第一天堂无码专区| 秋霞av国产精品一区| 久久国产精品网站| 亚洲欧美日韩爽爽影院| 色无极亚洲影院| 日韩激情第一页| 精品久久久中文| 精品亚洲国产成av人片传媒| 欧美激情精品久久久久久免费印度| 日韩av日韩在线观看| 欧美孕妇性xx| 日韩av在线精品| 国内外成人免费激情在线视频| 日韩欧美综合在线视频| 亚洲人成亚洲人成在线观看| 久久精品99国产精品酒店日本| 国产成人aa精品一区在线播放| 性色av香蕉一区二区| 人人澡人人澡人人看欧美| 国产日韩精品在线播放| 欧美一区二区色| 国外成人在线播放| 97超碰蝌蚪网人人做人人爽| 日韩电影免费观看在线| 国产欧美一区二区三区久久| 亚洲偷熟乱区亚洲香蕉av| 国产亚洲精品高潮| 97精品一区二区视频在线观看| 综合国产在线观看| 精品国产一区av| 国产精品久久久久久久久男| 国产成人亚洲综合| 亚洲国产精品久久久久秋霞不卡| 精品久久久久久久久久国产| 欧美伊久线香蕉线新在线| 日韩一区二区三区xxxx| 欧美黑人性视频| 羞羞色国产精品| 久久久欧美精品| 欧美视频免费在线观看| 国产亚洲精品综合一区91| 国产精品免费一区二区三区都可以| 亚洲国产91精品在线观看| 欧美激情2020午夜免费观看| 欧美极品xxxx| 国产精彩精品视频| 欧美日韩国产精品一区二区不卡中文| 欧美与黑人午夜性猛交久久久| 成人国产精品日本在线| 亚洲aⅴ男人的天堂在线观看| 91精品国产91| 精品中文字幕乱| 久久久久久久影视| 91精品在线看| 亚洲免费视频一区二区| 久久久这里只有精品视频| 欧美成人四级hd版| 欧美视频免费在线观看| 中文字幕av一区二区| 热99精品里视频精品|