整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          干貨:網頁跳轉的寫法大全及其用途區別

          時候,我們會希望網頁自動跳轉,應用場景包括:

          • 提交表單后自動轉到另外一個頁面,
          • 頁面地址變了,希望訪問老地址時能自動轉到新地址,等等。

          下面總結下如何在前端頁面中控制跳轉的方法:

          利用html的refresh

          <meta http-equiv="refresh" content="0;url=index.html"> 
          

          其中0表示0秒以后跳轉,可以自行設定時間。

          利用js的href屬性

          window.location.href='index.html';
          

          如果要設定延遲時間,則加上setTimeout

          setTimeout("javascript:location.href='index.html'", 5000);
          

          利用js的navigate方式

          window.navigate("index.html");
          

          自動刷新頁面

          在上述方式中,如果跳轉的頁面就是本頁面,那么就是自動刷新頁面的功能。
          

          或者使用reload

          location.reload()
          

          跳轉到上一頁,下一頁的方式

          window.history.go(-1);
          

          其中 -1 表示上一頁,如果沒有負號的就是表示下一頁

          如果不是1而是 2,3,4......n 則表示前進或者后退 n 頁

          后退還可以用

          window.history.back();
          

          兩者的區別是:

          go(-1):返回上一頁,原頁面表單中的內容會丟失;

          back():返回上一頁,原頁表表單中的內容會保留。

          前進則對應的是:

          history.forward():
          

          此外,還有一個參數 history.length 記錄了頁面前進的序號,如果等于0表示第一頁

          怎么選擇

          至此,自動跳轉頁面、刷新頁面、前后切換的方法都齊了!方法多了就有了選擇恐懼癥?

          基本原則:

          單純的頁面跳轉建議就用html的refresh方法,無需js代碼,很簡潔。

          如果比較復雜,涉及js代碼的業務功能,再加上跳轉功能的,就用js的各種方法。

          此外還要考慮頁面是否刷新的問題,希望刷新就用go,否則用back/forward

          久都沒有去慕課網學習學習了,剛恰好就看見了一個用的比較多的小例子——頁面回到頂部,記得之前自己也是在初學web時,被這個坑了一回,因此今天特地拿來分享分享……

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <title>頁面回到頂部</title>
              <link rel="stylesheet" type="text/css" href="mycss.css">
              <script type="text/javascript" src="myjs.js"></script>    
          </head>
          <body>
              <a href="javascript:;" id="btn" title="回到頂部"></a>
              <div class="bg">
                  <img src="images/tb_bg.jpg" alt="" />
              </div>
          </body>
          </html>

          其中需要引入自己寫的一個樣式文件和一個js文件:

              #btn {
                  width: 40px;
                  height: 40px;
                  position: fixed;
                  display: none;
                  right: 65px;
                  bottom: 10px;
                  background: url(images/top_bg.png) no-repeat left top;
              }
              
              #btn:hover {
                  background: url(images/top_bg.png) no-repeat 0 -39px;
              }
              
              .bg {
                  width: 1190px;
                  margin: 0 auto;
              }

          js文件:

          //頁面加載完畢后觸發
          window.onload = function {
              var obtn = document.getElementById('btn');
              var clientHeight=document.documentElement.clientHeight;//獲取頁面可視區域的高度
              var timer = null; //存放定時器
              var isTop=true;
              //滾動條滾動時觸發
              window.onscroll=function{
                  var osTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if(osTop>=clientHeight){
           obtn.style.display="block";
                  }else{
           obtn.style.display="none";
                  }
                  if(!isTop){
           clearInterval(timer);
                  }
                  isTop=false;
              }
              obtn.onclick = function {
                  timer = setInterval(function { //設置定時器
           //獲取滾動條距離頂部的高度
           var osTop = document.documentElement.scrollTop || document.body.scrollTop;
           var ispeed=osTop/5;
           document.documentElement.scrollTop = document.body.scrollTop =osTop-ispeed;
           isTop=true;
           if(osTop==0){
           clearInterval(timer);
           }
                  }, 30);
              }
          }

          文件存放路徑:

          基本“回到頂部”效果就這樣子實現,只是我不會在文章中添加動態效果(就是實時的添加這個動態效果圖),求大神賜教!

                  window.history.pushState(null, null, window.location.href);
                  window.addEventListener("popstate", function () {
                      window.history.pushState(null, null, window.location.href);
                  });

          品同學總是會提出各種稀奇古怪的需求,比如qj用戶的返回操作。。。

          上面的代碼經常被用來禁止網頁頁面的返回,經過個人的測試(Chrome/92.0.4497.0),必須在用戶有了交互之后才能生效,否則不生效;


          主站蜘蛛池模板: 日本精品夜色视频一区二区| 精品一区二区三区免费观看 | 亚洲综合av一区二区三区| 亚洲乱码国产一区三区| 久久精品午夜一区二区福利| 99久久精品午夜一区二区| 在线观看一区二区三区视频| 国产韩国精品一区二区三区| 日韩免费观看一区| 日本精品无码一区二区三区久久久 | 日韩毛片一区视频免费| 日本一区二区三区精品中文字幕| 日韩一区二区在线视频| 亚洲一区二区精品视频| 亚洲第一区视频在线观看| 日韩免费一区二区三区| 久久久91精品国产一区二区三区| 深田咏美AV一区二区三区| 亚洲一区二区视频在线观看| 麻豆一区二区在我观看 | 成人精品一区二区三区中文字幕| 一区二区视频在线播放| 动漫精品一区二区三区3d| 丰满少妇内射一区| 国产伦精品一区二区三区精品 | 日本一道高清一区二区三区 | 波多野结衣免费一区视频| 欧美日韩精品一区二区在线观看| 久久99国产一区二区三区| 无码日韩人妻av一区免费| 亚洲成AV人片一区二区| 亚洲国产一区二区三区| 毛片一区二区三区无码| 国产成人无码精品一区二区三区| 久久精品免费一区二区喷潮| 亚洲一区二区三区夜色 | 亚洲蜜芽在线精品一区| 狠狠色婷婷久久一区二区三区| 久热国产精品视频一区二区三区| 亚洲线精品一区二区三区影音先锋| 国产色欲AV一区二区三区|