整合營銷服務商

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

          免費咨詢熱線:

          js學習之導航切換

          js學習之導航切換

          航切換設計到CSS中標簽屬性設置:隱藏、顯示

          涉及html5異步傳輸的特性

          更需要知道js多標簽時候元素選擇的寫法

          再啰嗦一下:classLIst屬性返回元素的類名,可以用方法add()、remove()添加class屬性

          setAttribute(name,value)設置新屬性及其值,或者修改已有屬性的值

          正文

          上導航切換的示意圖

          js代碼:

          <script>

          window.onload=function () { //window.onload:就是等整個頁面內容全部加載完畢

          //填寫js邏輯

          //獲取ul里li的個數

          var tab_ui=document.getElementsByTagName("ul");

          var tab_li=tab_ui[0].getElementsByTagName("li")

          //獲取要顯示的div的個數

          var content=document.getElementById("content");

          var content_div=content.getElementsByTagName("div");

          //給li添加鼠標點擊事件

          for(var i=0;i<tab_li.length;i++){

          tab_li[i].index=i; //異步傳輸,不設置的話,得到的都是i的最大值

          tab_li[i].onclick=function () {

          //清除之前的樣式

          for(var j=0;j<tab_li.length;j++){

          //沒有點擊事件,j=0,1,2

          tab_li[j].classList.remove("active");

          content_div[j].setAttribute("class","hidden");

          }

          //設置自己本身的樣式:添加class=active

          this.setAttribute("class","active");

          //content_div[i].classList.remove("hidden"); 無效,i=3導致

          //將對應的內容顯示出來

          content_div[this.index].classList.remove("hidden");

          }

          }

          //給li添加鼠標點擊事件

          var tab_ui=document.getElementsByTagName("ul");

          var tab_li1=tab_ui[1].getElementsByTagName("li")

          //var tab_li1=document.getElementsById("li")

          var content1=document.getElementById("content1");

          var content1_div=content1.getElementsByTagName("div");

          for(var i=0;i<tab_li1.length;i++){

          tab_li1[i].index=i; //重點,為了讓i在循環體內

          tab_li1[i].onmouseover=function () {

          //這里的i永遠=3,如果不設置 tab_li[i].index=i

          //清除之前的樣式

          for(var j=0;j<tab_li1.length;j++){

          //沒有點擊事件,j=0,1,2

          tab_li1[j].classList.remove("active");

          content1_div[j].setAttribute("class","hidden");

          }

          //設置自己本身的樣式:添加class=active

          this.setAttribute("class","active");

          //content_div[i].classList.remove("hidden"); 無效,i=3導致

          //將對應的內容顯示出來

          content1_div[this.index].classList.remove("hidden");

          }

          }

          }

          </script>

          css代碼

          <style>

          .hidden{

          display: none;

          }

          .tabdemo>.active{

          background: red;

          border-bottom-color:white ;

          }


          #wrap{

          height: 58px;

          background-color: #c7eafa;

          }

          .tabdemo {

          width: 100%;

          list-style: none;

          margin: 0 auto;

          background-color: blue;

          }

          .tabdemo1 {

          width: auto;

          list-style: none;

          margin: 0 auto;

          background-color: pink;

          float:left;

          }

          li{

          color: rgb(0, 0, 0);

          display:inline-block;

          }

          ul.tabdemo1 li {

          color: rgb(224, 9, 9);

          display:block;

          }

          li:hover{

          background-color: lavender;

          }

          a{

          /*

          一定注意要把a轉成行內塊元素,

          如果轉的是塊元素那么短豎線會掉下去,

          因為塊級元素是獨占一行的

          */

          display:inline-block;

          padding: 0 20px;

          line-height: 58px;

          text-decoration: none;

          color: black;

          }

          </style>

          html代碼

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="utf-8">

          <title>多導航切換</title>

          <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>

          </head>

          //js代碼、css代碼放在這里

          <body>

          <div id="wrap">

          <div>

          <ul class="tabdemo">

          <li class="active "><a class="ac" href="#">選擇1</a></li>

          <li><a class="ac" href="#">選擇2</a></li>

          <li><a class="ac" href="#">選擇3</a></li>

          </ul>

          </div>

          <!--彈出內容-->

          <div id="content" style="padding:1px;border:dashed;">

          <div id="first" class="show">

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          </div>

          <div id="second" class="hidden">

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          </div>

          <div id="third" class="hidden">

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          </div>

          </div>

          <!--彈出內容-->

          <div>

          <ul class="tabdemo1">

          <li class="active "><a class="ac" href="#">選擇1</a></li>

          <li><a class="ac" href="#">選擇2</a></li>

          <li><a class="ac" href="#">選擇3</a></li>

          </ul>

          </div>

          <div id="content1" style="padding:1px;border:dashed;">

          <div id="first" class="show">

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          <a href="#">內容一</a>

          </div>

          <div id="second" class="hidden">

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          <a href="#">內容二</a>

          </div>

          <div id="third" class="hidden">

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          <a href="#">內容三</a>

          </div>

          </div>

          </div>


          </body>

          </html>

          家好

          這里是有新媒之聲給大家帶來的html5教程

          話不多說直接看效果圖

          首先我們先創建一個html

          我們再建一個存放視頻背景的文件夾video

          我們給建好的html寫入基本代碼

          然后我們再把作為背景網站的視頻拷貝到video這個文件夾下

          我們在給剛剛建好的html寫入視頻代碼

          效果如下

          并未網頁全屏,而且視頻重復播放

          別急現在我們給視頻添加樣式,使它成為名副其實的視頻背景

          我們給視頻代碼寫一個class="index-video"

          我們在head頭寫上css樣式

          我們現在再來看看效果

          現在網頁視頻是以全屏播放并且你可以在上面寫上其它的效果,比如說導航欄之類的,因為現在視頻已經成為了我們網頁的背景。

          現在我們在head加上跳轉代碼

          現在就讓我們回顧一下需要用到那些代碼和注意的要去

          body體里

          <body>

          <!--autoplay 屬性設置或返回音視頻是否在加載后即開始播放-->

          <!--true - 指示音視頻在加載完成后隨即播放-->

          <!--false - 默認。指示音視頻不應在加載后立即播放。-->

          <!--loop:意思是否在網頁里加入背景音樂-->

          <!--loop=-1就是表示你的背景音樂的循環次數是無限次,直到你關閉網頁-->

          <video class="index-video" src="video/logo.mp4" autoplay="true" loop="-1"></video>

          </body>

          css樣式

          <style type="text/css">

          .index-video {

          position: fixed; right: 0; bottom: 0;

          min-width: 100%; min-height: 100%;

          width: auto;

          height: auto;

          z-index: -100;

          }

          </style>

          跳轉代碼

          <!--http-equiv顧名思義,相當于http的文件頭作用,它可以向瀏覽器傳回一些有用的信息,以幫助正確和精確地顯示網頁內容,與之對應的屬性值為content,content中的內容其實就是各個參數的變量值。-->

          <!--meat標簽的http-equiv屬性語法格式是:<meta http-equiv="參數" content="為跳轉時間+跳轉網址"content="8;url=http://www.baidu.com">//為八秒后跳轉到百度網站-->

          <meta http-equiv="refresh" content="8;url=http://www.baidu.com" />

          <meta charset="utf-8">//網站編碼utf-8為通用的國際代碼

          <meta http-equiv="refresh" content="8;url=http://www.baidu.com" />

          //<!--meat標簽的http-equiv屬性語法格式是:<meta http-equiv="參數" content="為跳轉時間+跳轉網址"content="8;url=http://www.baidu.com">//為八秒后跳轉到百度網站-->

          <title>炫酷跳轉演示站</title>//為網頁標題

          position 屬性規定元素的定位類型。

          position語法:

          position : static absolute relative

          position參數:

          static :  無特殊定位,對象遵循HTML定位規則

          absolute :  將對象從文檔流中拖出,使用left,right,top,bottom等屬性進行絕對定位。而其層疊通過css z-index屬性定義。此時對象不具有邊距,但仍有補白和邊框

          relative :  對象不可層疊,但將依據left,right,top,bottom等屬性在正常文檔流中偏移位置

          position說明:

          設置對象的定位方式,可以讓布局層容易位置絕對定位,控制盒子對象更加準確。

          min-width: 最小寬度; min-height: 最小高度;

          width: auto;//寬度為自動

          height: auto;//高度為自動

          z-index: -100;

          //當你定義的CSS中有position屬性值為absolute、relative或fixed,

          用z-index此取值方可生效。

          此屬性參數值越大,則被層疊在最上面。

          完整代碼

          用場景

          • 如果你的項目需要同時在android與ios上上架,為了避免開發2套代碼,我個人認為采用h5處理一些不影響性能的業務邏輯是個不錯的選擇(當然你也可以采用其他技術,比如reactNative或c等等)

          添加h5代碼到assets

          比如我的app內部包含了部分h5寫的幫助說明,我把h5的內容存放在項目對應的assets目錄。

          原本加載h5問題代碼

          原本加載h5沒有調用setWebViewClient方法,代碼如下圖:

          問題描述

          這個時候發現一個問題,啟動應用后加載h5正常,但是在點擊頁面跳轉是會自動的打開了系統內置的瀏覽器,而且這時候系統內置的瀏覽器根本訪問不了我們的apk內部的h5代碼,解決這個問題需要為webview設置WebViewClient,并重寫重寫WebViewClient的shouldOverrideUrlLoading方法返回true,這樣新的連接就會在當前WebView中打開。

          解決辦法

          修改后的代碼其實就是添加對setWebViewClient調用,并重寫shouldOverrideUrlLoading方法,注意要返回true,代碼如下

          分享是一種美德,牽手是一種生活方式。

          最后感謝提供的分享平臺,你覺得有用可以收藏方便以后查閱。


          主站蜘蛛池模板: 嫩B人妻精品一区二区三区| 一区二区三区四区在线视频| 亚洲AV午夜福利精品一区二区 | 精品国产a∨无码一区二区三区| 亚洲欧美日韩一区二区三区| 国产精品一区二区三区久久 | 综合一区自拍亚洲综合图区| 国产福利电影一区二区三区| 成人H动漫精品一区二区| 日本中文字幕一区二区有码在线| 国产未成女一区二区三区 | 成人精品视频一区二区三区不卡 | 最新中文字幕一区二区乱码| 成人日韩熟女高清视频一区| 视频在线一区二区三区| 日韩国产免费一区二区三区| 亚洲电影一区二区| 无码人妻久久一区二区三区 | 日本免费一区二区三区最新vr| 国产品无码一区二区三区在线蜜桃| 在线不卡一区二区三区日韩| 中文字幕乱码一区久久麻豆樱花| 日韩一区二区在线视频| 国产成人无码一区二区三区 | 福利一区二区在线| 一区二区三区美女视频| 精品无码一区二区三区在线| 日韩视频一区二区在线观看| 韩国精品一区视频在线播放| 韩国精品一区视频在线播放 | 99久久精品国产免看国产一区| 合区精品久久久中文字幕一区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 国精品无码一区二区三区左线| 亚洲无人区一区二区三区| 国产成人AV一区二区三区无码| 无码av免费一区二区三区| 精品国产a∨无码一区二区三区 | 一夲道无码人妻精品一区二区| 国99精品无码一区二区三区 | 亚洲第一区在线观看|