整合營銷服務商

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

          免費咨詢熱線:

          前端 CSS3動畫

          前端 CSS3動畫

          雖說IE9以及更早版本的IE瀏覽器都不支持css3動畫,但是IE6-8瀏覽器已是江河日下,使用谷歌瀏覽器、火狐瀏覽器、IE10+瀏覽器以及移動端瀏覽器等這些支持css3動畫的瀏覽器的人數越來越多,所以如果很簡單的就能讓一部分人獲得更好的用戶體驗,那何樂而不為呢。

          從廣義上來講,css3動畫可以分為兩種。

          過渡動畫

          第一種叫過渡(transition)動畫,就是從初始狀態過渡到結束狀態這個過程中所產生的動畫。所謂的狀態就是指大小、位置、顏色、變形(transform)等等這些屬性。css過渡只能定義首和尾兩個狀態,所以是最簡單的一種動畫。

          要想使一個元素產生過渡動畫,首先要在這個元素上用transition屬性定義動畫的各種參數。可定義的參數有

          transition-property:規定對哪個屬性進行過渡

          transition-duration:定義過渡的時間,默認是0

          transition-timing-function:定義過渡動畫的緩動效果,如淡入、淡出等,默認是 ease

          transition-delay:規定過渡效果的延遲時間,即在過了這個時間后才開始動畫,默認是0

          為了書寫方便,也可以把這四個屬性按照以上順序簡寫在一個 transition 屬性上:

          如果是使屬性的默認值,則可以省略:

          相當于:

          如果想要同時過渡多個屬性,可以用逗號隔開,如:

          使用transtion屬性只是規定了要如何去過渡,要想讓動畫發生,還得要有元素狀態的改變。如何改變元素狀態呢,當然就是在css中給這個元素定義一個類(:hover等偽類也可以),這個類描述的是過渡動畫結束時元素的狀態。

          這樣,當我們把鼠標移動到div上的時候,div的狀態發生了變化,就能看到寬度從100到400,高度從100到400,背景顏色從黑到紅的,過渡時間為3秒的過渡效果了。

          除了使用hover等系統提供的偽類外,我們也可以隨意的定義自己的類,然后想要過渡時就通過js把類加到元素上面:

          見鼠標事件

          對鼠標進行操作就會產生鼠標事件,比如按下、松開鼠標左鍵、右鍵或滾輪等。

          onmousemove事件:當鼠標指針在指定元素上移動時,就會觸發該事件。

          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>Document</title>
              <style>
                  #box{
                      width: 200px;
                      height: 200px;
                      background-color: aqua;
                  }
              </style>
          </head>
          <body>
              <div id="box">
          
              </div>
          
              <script>
                  let box=document.getElementById("box");
          
                  box.onmousemove=function(){
                      box.style.backgroundColor="red";
                  }
              </script>
          </body>
          </html>

          當鼠標移動到div方形區域內,背景顏色變為紅色。

          onmousedown事件:當鼠標指針移動到指定元素上并按下,會觸發該事件。

          let box=document.getElementById("box");
          
          box.onmousedown=function(){
              box.style.backgroundColor="red";
          }

          onmouseup事件:當鼠標指針移動到指定元素上按下并離開,會觸發該事件。

          let box=document.getElementById("box");
          
          box.onmousedown=function(){
              box.style.backgroundColor="red";
          }
          
          box.onmouseup=function(){
              box.style.backgroundColor="green";
          }

          createElement()方法

          createElement():通過指定名稱創建一個元素。

          項目目標:

          在輸入框輸入非空內容,自動添加到下方列表。

          let list=document.getElementById("list");
          let word=document.getElementById("word");
          
          let arr=["吃飯", "睡覺", "打豆豆"];
          for (let i=0; i < arr.length; i++) {
          	let temp=document.createElement("li");
          	temp.innerHTML=arr[i];
          	list.append(temp);
          }
          word.onblur=function() {
          	let value=word.value;
          	conssole.log(value);
          	if(value){
          		let temp=document.createElement("li");
          		temp.innerHTML=value;
          		list.append(temp);
          	}
          	else
          		alert("請輸入內容");
          }

          event對象

          在事件被觸發時,js會自動生成一個event對象,控制臺輸出event可以查看這個事件的具體信息。

          項目目標:瀏覽器中有一個紅色小球,鼠標點擊,小球就會移動到點擊的位置。

          let box=document.getElementById("box");
          document.onclick=function(event) {
          	let x=event.clientX;
          	let y=event.clientY;
          	box.style.left=x + "px";
          	box.style.top=y + "px";
          }

          拖拽效果

          移動時disX和disY沒有變化:

          項目目標:拖動紙飛機移動。

          let img=document.getElementById("img");
          img.onmousedown=function (event) {
              let disX=event.clientX - this.offsetLeft;
              let disY=event.clientY - this.offsetTop;
              img.onmousemove=function (event) {
                  let l=event.clientX - disX;
                  let t=event.clientY - disY;
          
                  this.style.left=l + 'px';
                  this.style.top=t + 'px';
              }
              img.onmouseup=function () {
                  img.onmouseup=img.onmousemove=null;
              }
          }

          視頻講解

          <script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>

          相關推薦

          • Javascript對象和選項卡實現
          • 一文詳解javascript輪播圖
          • Javascript簡介和基礎數據類型
          • 一文詳解Javascript定時器
          • Javascript點擊按鈕控制圖片切換
          • Javascript獲取className屬性和slice切片
          • 一文詳解Javascript正則表達式,檢測用戶名密碼合法性
          • Javascript在線刷題輸入輸出模板,學編程為什么要刷題?

          css鏈接

          鏈接可以使用任何css屬性(例如,color,font-family,background等)來設置樣式.

          另外,鏈接的樣式可以不同,具體取決于所處的狀態.以下偽選擇器可用:

          a:link 定義正常的為訪問鏈接的樣式

          a:visited 定義訪問鏈接的樣式

          a:active 一旦點擊鏈接,鏈接就會激活

          a:hover 當鼠標懸停時,鏈接的樣式

          下面的例子,創建一個鏈接,當鼠標移動到它上面的時候會改變樣式

          html代碼:

          <p><a target="_blank">搜狗</a></p>

          css代碼:

          a:hover{ color:red; }

          執行結果如下:

          這是鼠標移動到鏈接上時,顯示的樣式

          當為鏈接設置樣式時,必須遵守以下規則:

          a:hover 必須在a:link和a:visited之后

          a:active 必須在a:hover之后

          默認情況下,文本鏈接由瀏覽器加下劃線.

          處理帶鏈接的文本,css最常見的用法之一是刪除下劃線.在下面的示例中,text-decoration屬性用于刪除下劃線.

          html代碼:

          <p><a class="text-decoration" href="https:www.sougou.com">我的下劃線已經被刪除了!</a></p>

          css代碼:

          a.text-decoration:link{text-decoration:none;}

          效果如下:

          以下屬性用于控制鏈接的樣式:

          border:none 從包含鏈接的圖像中刪除邊框

          outline:none 刪除IE中點擊鏈接行上的虛線邊框

          二 css自定義鼠標光標樣式

          css允許你將鼠標懸停在元素上時,設置所需的光標樣式.例如,你可以將光標更改為手形圖標,幫助圖標等.而不是默認的指針.

          在下面的例子中,當我們將鼠標移動到span元素上時,鼠標指針被設置為一個幫助圖標.(cursor就是光標的意思)

          <span style="cursor:help;">需要幫忙么?</span>

          效果如下:

          cursor屬性還有許多其他的值.例如:

          default:默認光標

          crosshair:光標顯示為十字準線

          pointer:光標顯示為手形圖標

          cursor的值比較多,用圖片顯示給大家:

          通常改變鼠標光標的外觀,是為了提高網站訪問者的體驗.但是,選擇錯誤的光標風格也可能會引起誤解.


          主站蜘蛛池模板: 国产精品一区二区四区| 好吊视频一区二区三区| 亚洲sm另类一区二区三区| 国产色精品vr一区区三区| 一区二区三区四区视频| 福利一区国产原创多挂探花| 中文字幕乱码一区久久麻豆樱花| 国产精品日本一区二区不卡视频 | 中文字幕在线一区二区在线 | 91一区二区视频| 亚洲日韩精品一区二区三区无码 | 久久成人国产精品一区二区| 免费萌白酱国产一区二区| 人妻av综合天堂一区| 精品国产a∨无码一区二区三区| 久久一区二区三区免费播放| 日本一区二区免费看| 久久一区二区精品| 亚洲视频一区在线观看| 激情内射亚洲一区二区三区爱妻| 亚洲日韩国产精品第一页一区| 国产婷婷一区二区三区| 伦理一区二区三区| 无码一区二区三区| 国产精品一级香蕉一区| 久热国产精品视频一区二区三区| 中文字幕av人妻少妇一区二区 | 无码丰满熟妇浪潮一区二区AV| 亚洲AV香蕉一区区二区三区| 国产日产久久高清欧美一区| 波多野结衣一区二区三区高清在线| 国产一区二区三区在线观看免费| 国产一区二区三区亚洲综合| 国产激情精品一区二区三区| 亚洲午夜福利AV一区二区无码 | 中文乱码精品一区二区三区| 亚洲熟妇av一区二区三区漫画| 久久精品道一区二区三区| 亚洲美女一区二区三区| 在线观看中文字幕一区| 一区二区三区www|