欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用js編寫響應式側邊欄

 更新時間:2021年10月18日 11:08:23   作者:u010297791  
這篇文章主要為大家詳細介紹了利用js編寫響應式側邊欄的相關代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

為了練手,自己學敲網(wǎng)站時剛好碰到需要制作側邊欄,在網(wǎng)上也查了各種插件以及框架都可以實現(xiàn)這個功能,但是想自己學著用js原生學一個試試,于是就初略完成了側邊欄的實現(xiàn),可以讓初學者參考參考,代碼能力有限。

其中主要設計的就是animate()函數(shù),animate() 方法執(zhí)行 CSS 屬性集的自定義動畫。該方法通過CSS樣式將元素從一個狀態(tài)改變?yōu)榱硪粋€狀態(tài)。CSS屬性值是逐漸改變的,這樣就可以創(chuàng)建動畫效果。只有數(shù)字值可創(chuàng)建動畫(比如 "margin:30px")。字符串值無法創(chuàng)建動畫(比如 "background-color:red")。更多的使用請自己去搜索,我就不具體介紹了。另外就是利用了媒體查詢的方法,通過檢測當前設備的屏幕大小進行調(diào)整側邊欄的大小設計。媒體查詢的方法可以針對不同的屏幕尺寸設置不同的樣式,特別是如果你需要設置設計響應式的頁面。

接下來是具體的實現(xiàn),附上代碼:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width,initial-scale=1"/>
 <title>側邊欄</title>
 <link href="css/sideBar.css" rel="stylesheet" type="text/css" />
</head>
<body>
 <div class="container">
 <div class="header">
 <div class="nav-icon">
 <span></span>
 <span></span>
 <span></span>
 </div>
 </div>
 <div class="content">側邊欄內(nèi)容</div>
 <div class="sideBar">
 <div class="sideBar-left">
 <div class="divider"></div>
 <div class="body-content">
  <div class="messageWarning item">
  <div><i class="message_icon"></i>消息提醒</div>
  <ul>
  <li class="news">
  <i class="circle"></i><a href="javascript:void()">消息1</a>
  </li>
  <li class="news">
  <i class="circle"></i><a href="javascript:void()">消息2</a>
  </li>
  <li class="news">
  <i class="circle"></i><a href="javascript:void()">消息3</a>
  </li>
  <li class="news">
  <i class="circle"></i><a href="javascript:void()">消息4</a>
  </li>
  </ul>
  </div>
  <div class="course item">
  <div><i class="icon"></i>課程</div>
  <ul>
  <li class="myInfo">
  <i class="circle"></i><a href="javascript:void()">我的課程</a>
  </li>
  <li class="Dynamic">
  <i class="circle"></i><a href="javascript:void()">課程動態(tài)</a>
  </li>
  <li class="question">
  <i class="circle"></i><a href="javascript:void()">問題空間</a>
  </li>
  <li class="homework">
  <i class="circle"></i><a href="javascript:void()">課程作業(yè)</a>
  </li>
  </ul>
  </div>
  <div class="myHome item">
  <a href="javascript:void()">
  <i class="home_icon"></i>我的主頁
  </a>
  </div>
  <div class="exit item">
  <a href="javascript:void()">
  <i class="exit_icon"></i>退出
  </a>
  </div>
 </div> 
 </div>
 <div class="sideBar-right"></div>
 </div> 
 </div>
</body>
<script src="js/jquery-2.1.4.min.js"></script>
<script src="js/sideBar.js"></script>
</html> 

js實現(xiàn):

$(function(){

 var windowWidth = $(window).width();
 var windowHeight = $(window).height();
 var sideBarWidth = windowWidth*0.8;
 //設置側邊欄左邊寬度與右邊高度
 $(".sideBar-left").height(windowHeight);
 $(".sideBar-right").height(windowHeight);
 //側邊欄由左向右滑動
 $(".nav-icon").on("click",function(){
 $(".sideBar").animate({left: "0"},350);
 });
 //點擊退出,側邊欄由右向左滑動
 $(".exit").on("click",function(){
 $(".sideBar").animate({left: "-100%"},350);
 });

}) 

css設計: 

*{
 margin: 0;
}
a{
 color: #fff;
 text-decoration: none;
}
.container{
 width: 100%;
 height: 100%;
 min-width: 280px;
 position: relative;
}
.header{
 background: #0C7AB3;
 list-style: none;
}
.nav-icon{
 width: 30px;
 background: #0C7AB3;
 padding: 8px;
}
.nav-icon span{
 display: block;
 border: 1px solid #fff;
 margin: 4px;
 width: 20px;
}
.nav-icon:hover{
 cursor: pointer;
}
.sideBar{
 width: 100%;
 position: absolute;
 top: 0px;
 left: -100%;
}
.sideBar-left{
 width: 75%;
 background: #fff;
 float: left;
 background-color: #343A3E;
}
.sideBar-left .divider{
 width: 80%;
 height: 6px;
 margin-top: 30px;
 padding-left: 15px;
 background-color: #3099FF;
}
.sideBar-left .body-content{
 width: 80%;
 margin-top: 15px;
 padding: 15px 0 15px 15px;
 border-top: 2px solid #3099FF;
 color: #EFEFEF;
}
.body-content .item{
 margin: 4px;
}
.item ul{
 list-style: none;
 margin-left: -24px;
}
.item ul li{
 margin:8px;
}
.item .circle{
 width: 10px;
 height: 10px;
 margin-right: 10px;
 border-radius: 50%;
 background-color: #3099FF;
 display: inline-block;
}
.sideBar-right{
 width:25%;
 display: inline-block;
 background-color: rgba(0, 0, 0, 0.5);
}

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

相關文章

  • 面試判斷元素是否在可視區(qū)域中IntersectionObserver詳解

    面試判斷元素是否在可視區(qū)域中IntersectionObserver詳解

    這篇文章主要為大家介紹了判斷元素是否在可視區(qū)域中IntersectionObserver面試詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • javascript加載xml 并解析各節(jié)點的值(實現(xiàn)方法)

    javascript加載xml 并解析各節(jié)點的值(實現(xiàn)方法)

    下面小編就為大家?guī)硪黄猨avascript加載xml 并解析各節(jié)點的值(實現(xiàn)方法)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • bootstrap導航條實現(xiàn)代碼

    bootstrap導航條實現(xiàn)代碼

    這篇文章主要為大家詳細介紹了bootstrap導航條的實現(xiàn)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • javascript 函數(shù)及作用域總結介紹

    javascript 函數(shù)及作用域總結介紹

    本文是對javascript在的函數(shù)及作用域進行了詳細的總結介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • 如何使用TS對axios的進行簡單封裝

    如何使用TS對axios的進行簡單封裝

    在vue項目中和后臺交互獲取數(shù)據(jù)這塊,我們通常使用的是axios庫,這篇文章主要給大家介紹了關于如何使用TS對axios的進行簡單封裝的相關資料,需要的朋友可以參考下
    2022-10-10
  • javascript實現(xiàn)3D變換的立體圓圈實例

    javascript實現(xiàn)3D變換的立體圓圈實例

    這篇文章主要介紹了javascript實現(xiàn)3D變換的立體圓圈效果,涉及javascript動態(tài)操作頁面元素實現(xiàn)滾動與變色的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • 詳解JavaScript中l(wèi)ocalStorage使用要點

    詳解JavaScript中l(wèi)ocalStorage使用要點

    localStorage主要用來替代cookie,解決cookie(可參考cookie使用要點)讀寫困難、容量有限的問題,對js localstorage的使用相關知識感興趣的朋友一起學習吧
    2016-01-01
  • JavaScript創(chuàng)建防篡改對象的方法分析

    JavaScript創(chuàng)建防篡改對象的方法分析

    這篇文章主要介紹了JavaScript創(chuàng)建防篡改對象的方法,結合具體實例形式分析了javascript基于不可擴展對象、密封的對象和凍結的對象實現(xiàn)防篡改對象的相關操作技巧,需要的朋友可以參考下
    2018-12-12
  • JS中new?Blob()詳解及blob轉file示例

    JS中new?Blob()詳解及blob轉file示例

    這篇文章主要給大家介紹了關于JS中new?Blob()詳解及blob轉file的相關資料,Blob?Blob(Binary?Large?Object)表示二進制類型的大對象,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-11-11
  • babel7按需加載polyfill示例詳解

    babel7按需加載polyfill示例詳解

    這篇文章主要為大家介紹了babel7按需加載polyfill示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02

最新評論