茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    原生js和jquery分別實(shí)現(xiàn)橫向?qū)Ш讲藛涡Ч?/div>
    來(lái)源:易賢網(wǎng) 閱讀:1677 次 日期:2016-06-30 16:47:28
    溫馨提示:易賢網(wǎng)小編為您整理了“原生js和jquery分別實(shí)現(xiàn)橫向?qū)Ш讲藛涡Ч?方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了原生js和jquery分別實(shí)現(xiàn)橫向?qū)Ш讲藛涡Ч南嚓P(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

    本文實(shí)例為大家分享了原生js和jquery橫向?qū)Ш讲藛蔚闹谱鞣椒?,供大家參考,具體內(nèi)容如下

    原生javascript實(shí)現(xiàn):

    這一次要實(shí)現(xiàn)的是鼠標(biāo)放上去以后,菜單欄被選中的那一欄水平拉伸,鼠標(biāo)離開(kāi)后水平收縮。并帶有一定的時(shí)間性,使肉眼能夠看出其拉伸收縮的動(dòng)畫效果。

    開(kāi)始用javascript進(jìn)行編寫:

    首先在之前水平方向的導(dǎo)航欄上進(jìn)行操作,將第一欄和選中欄的樣式只改變?yōu)楸尘白兒谏?,文字變白?/P>

    .on,a:hover{background:#000000;color:#FFFFFF;} 

    之后開(kāi)始寫javascript腳本:

    <script> 

     window.onload=function(){ 

     var A=document.getElementsByTagName("a"); 

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

     { 

      A[i].onmouseover=function(){ 

      clearInterval(this.time); 

       var This=this; 

       This.time=setInterval(function(){ 

       if(This.offsetWidth>=200) 

        { 

        clearInterval(This.time); 

        } 

       This.style.width=This.offsetWidth+8+"px"; 

       },50) 

      } 

       A[i].onmouseout=function(){ 

       clearInterval(this.time); 

       var This=this; 

       This.time=setInterval(function(){ 

       if(This.offsetWidth<=120) 

        { 

        This.style.width="120px"; 

        clearInterval(This.time); 

        } 

       This.style.width=This.offsetWidth-8+"px"; 

       },50) 

      } 

      } 

     } 

    </script> 

    剖析一下這段代碼:

    第一層,window.onload,頁(yè)面加載的時(shí)候調(diào)用這個(gè)函數(shù)。

    第二層,for循環(huán),用document.getElementsByTagName("a")獲得導(dǎo)航欄數(shù)組,遍歷為其添加第三層的效果。

    第三層,一個(gè)onmouseover,一個(gè)onmouseout,分別實(shí)現(xiàn)鼠標(biāo)覆蓋和鼠標(biāo)離開(kāi)的效果。

    第四層,setInterval和clearInterval方法,參數(shù)50ms.

    第五層,核心部分,修改this.style.width,每次50ms加減8px,增加判斷語(yǔ)句到達(dá)邊界。

    細(xì)節(jié)部分:采用先加減8px再進(jìn)行判斷,我認(rèn)為應(yīng)該倒過(guò)來(lái),不必要先處理再判斷,會(huì)浪費(fèi)資源。還有就是在第三層開(kāi)始后必須先清除時(shí)間機(jī)制,否則會(huì)容易出現(xiàn)重疊動(dòng)畫的紊亂狀況。

    最后實(shí)現(xiàn)的動(dòng)畫就是:鼠標(biāo)放上去某一欄后,120px的菜單欄將每50ms伸長(zhǎng)8px,直至到達(dá)200px停下;當(dāng)鼠標(biāo)離開(kāi)后,該欄又將以50ms收縮8px的速度恢復(fù)到120px.

    看一下總代碼和效果圖:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

    <html xmlns="http://www.w3.org/1999/xhtml"> 

    <head> 

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

    <title>導(dǎo)航欄</title> 

    <style> 

    *{margin:0;padding:0;font-size:20px} 

    ul{list-style:none;height:50px;border-bottom:#000000 solid;padding-left:30px}  

    li{float:left;margin-top:20px;} 

    a{text-decoration:none;display:block;height:30px;line-height:30px;width:120px;margin-bottom:1px;background:#FFFFFF;color:#000000;text-align:center} 

    .on,a:hover{background:#000000;color:#FFFFFF;} 

    </style> 

    <script> 

     window.onload=function(){ 

     var A=document.getElementsByTagName("a"); 

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

     { 

      A[i].onmouseover=function(){ 

      clearInterval(this.time); 

       var This=this; 

       This.time=setInterval(function(){ 

       if(This.offsetWidth>=200) 

        { 

        clearInterval(This.time); 

        } 

       This.style.width=This.offsetWidth+8+"px"; 

       },50) 

      } 

       A[i].onmouseout=function(){ 

       clearInterval(this.time); 

       var This=this; 

       This.time=setInterval(function(){ 

       if(This.offsetWidth<=120) 

        { 

        This.style.width="120px"; 

        clearInterval(This.time); 

        } 

       This.style.width=This.offsetWidth-8+"px"; 

       },50) 

      } 

      } 

     } 

     </script> 

    </head> 

    <ul> 

    <li> 

    <a class="on" href="#">首 頁(yè)</a> 

    </li> 

    <li> <a href="#">今日新聞</a></li> 

    <li><a href="#">周邊故事</a></li> 

    <li><a href="#">天氣預(yù)報(bào)</a></li> 

    <li><a href="#">好書推薦</a></li> 

    </ul> 

    </html> 

    名單

    下面用jquery實(shí)現(xiàn)同樣的效果:

    先下載一個(gè)jQurey1.2.6,引用到html中去

    <script type="text/javascript" src="jquery-1.2.6.js"></script> 

    下載地址:Jquery1.2.6下載

    [html] view plain copy print?

    <script> 

    $(function(){ 

     $('a').hover( 

      function(){ 

       $(this).stop().animate({"width":"200px"},200  );}, 

      function(){ 

       $(this).stop().animate({"width":"120px"},200 

       );}  

     ) 

     }) 

    </script>

    同樣,這段代碼是包含在$(function(){})中,相當(dāng)于window.onload的作用。

    之后$('a')獲取a標(biāo)簽,其提供一個(gè)hover方法,這個(gè)方法里面要提供兩個(gè)函數(shù),一個(gè)移入一個(gè)移出,我們將其設(shè)定為移入時(shí)200ms增加到200px,移出時(shí)200ms收縮到120px.

    animate即自定義動(dòng)畫的方法,在這里是設(shè)置寬度動(dòng)態(tài)變化。

    要在處理前用stop(),把上個(gè)動(dòng)畫清理掉。

    效果是一樣的,但代碼量少。

    以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:原生js和jquery分別實(shí)現(xiàn)橫向?qū)Ш讲藛涡Ч?/a>
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026上岸·考公考編培訓(xùn)報(bào)班

    • 報(bào)班類型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)