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

JS實現(xiàn)的模仿QQ頭像資料卡顯示與隱藏效果

 更新時間:2017年04月07日 11:57:12   作者:艾米兔  
這篇文章主要介紹了JS實現(xiàn)的模仿QQ頭像資料卡顯示與隱藏效果,涉及javascript鼠標事件響應及頁面元素屬性動態(tài)操作相關(guān)技巧,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)的模仿QQ頭像資料卡顯示與隱藏效果。分享給大家供大家參考,具體如下:

我們使用QQ時經(jīng)常需要查看朋友的資料卡,當我們把鼠標移入頭像時,資料卡顯示,并且鼠標能在頭像與資料卡之間能隨意移動,當鼠標移出頭像或資料卡時,資料卡延時隱藏。

實質(zhì)就是延時提示框問題!

首先寫好布局

<style>
    div { float:left; margin:5px; }
    .head { width:50px;height:50px;background-color:pink; }
    .info { width:250px;height:200px;background-color:blue;display:none; }
</style>
<div>
  <div class="head"></div>
  <div class="info"></div>
</div>

其次js部分

思路:

(1)鼠標移入頭像,資料卡顯示;鼠標移出頭像,資料卡延時隱藏setTimeout
(2)鼠標移入資料卡,資料卡仍顯示,并清除資料卡延時隱藏的變量
(3)鼠標移出資料卡,資料卡延時隱藏,并且此時如果在移入到頭像中,資料卡扔顯示,并清除資料卡延時隱藏的變量

window.onload =function(){
    var oHead = document.getElementsByClassName("head")[0];
    var oInfo = document.getElementsByClassName("info")[0];
    var timer = null;
    oHead.onmouseover=function(){
      clearTimeout(timer);
      oInfo.style.display="block";
    };
    oHead.onmouseout=function(){
      timer = setTimeout(function(){
        oInfo.style.display="none";
      },500);
    };
    oInfo.onmouseover=function(){
      clearTimeout(timer);
      oInfo.style.display="block";
    };
    oInfo.onmouseout=function(){
      timer = setTimeout(function(){
        oInfo.style.display="none";
      },500);
    };
};

優(yōu)化代碼:

oInfo.onmouseover = oHead.onmouseover=function(){
  clearTimeout(timer);
  oInfo.style.display="block";
};
oInfo.onmouseout = oHead.onmouseout=function(){
  timer = setTimeout(function(){
    oInfo.style.display="none";
  },500);
};

函數(shù)封裝:

注意:事件 .xx 等于 [“xx”]

第一種:函數(shù)外獲取變量,調(diào)用函數(shù),適用于一個或兩個元素調(diào)用此事件

window.onload =function(){
  var oHead = document.getElementsByClassName("head")[0];
  var oInfo = document.getElementsByClassName("info")[0];
  reminder(oHead,oInfo,"onmouseover","onmouseout");
  function reminder (div1,div2,event1,event2){
    var timer = null;
    div1[event1] = div2[event1]=function(){
     clearTimeout(timer);
     div2.style.display="block";
    };
    div1[event2] = div2[event2]=function(){
     timer = setTimeout(function(){
      div2.style.display="none";
     },500);
    };
  }
};

第二種:函數(shù)外獲取變量,調(diào)用函數(shù),適用于多個元素調(diào)用此事件

window.onload =function(){
  var number=0;
  reminder("head","info","onmouseover","onmouseout",number);
  function reminder (div1,div2,event1,event2,num){
    var oHead = document.getElementsByClassName(div1)[num];
    var oInfo = document.getElementsByClassName(div2)[num];
    var timer = null;
    oHead[event1] = oInfo[event1]=function(){
     clearTimeout(timer);
     oInfo.style.display="block";
    };
    oHead[event2] = oInfo[event2]=function(){
     timer = setTimeout(function(){
      oInfo.style.display="none";
     },500);
    };
  }
};

比如,一共有三個頭像的話,就可以用for循環(huán)遍歷為每個元素綁定事件:

var number=null;
for(number=0;number<3;number++){
   reminder("head","info","onmouseover","onmouseout",number);
}

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

希望本文所述對大家JavaScript程序設計有所幫助。

相關(guān)文章

  • JS代碼格式化和語法著色V2

    JS代碼格式化和語法著色V2

    JS代碼格式化和語法著色V2...
    2006-10-10
  • JS組件Bootstrap實現(xiàn)下拉菜單效果代碼

    JS組件Bootstrap實現(xiàn)下拉菜單效果代碼

    這篇文章主要為大家詳細介紹了JS組件Bootstrap實現(xiàn)下拉菜單效果代碼,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript中的Proxy-Reflect操作方法

    JavaScript中的Proxy-Reflect操作方法

    這篇文章主要介紹了JavaScript中的Proxy-Reflect操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-11-11
  • javascript HTML+CSS實現(xiàn)經(jīng)典橙色導航菜單

    javascript HTML+CSS實現(xiàn)經(jīng)典橙色導航菜單

    這篇文章主要介紹了javascript HTML+CSS實現(xiàn)經(jīng)典橙色導航菜單的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • js腳本獲取webform服務器控件的方法

    js腳本獲取webform服務器控件的方法

    asp.net webform中獲取服務器控件,js腳本獲取服務器控件需要使用ClientID,下面有個示例,大家可以參考下
    2014-05-05
  • JavaScript實現(xiàn)函數(shù)重載的代碼示例

    JavaScript實現(xiàn)函數(shù)重載的代碼示例

    在JavaScript中并沒有直接支持函數(shù)重載的機制,但是可以通過一些技巧來模擬函數(shù)重載的效果,比如使用參數(shù)判斷,使用默認參數(shù),對象參數(shù),這些方法都可以實現(xiàn)類似函數(shù)重載的效果,所以本文就給大家介紹一下JavaScript如何實現(xiàn)函數(shù)重載,需要的朋友可以參考下
    2023-08-08
  • 深入了解JavaScript中的垃圾回收機制

    深入了解JavaScript中的垃圾回收機制

    JavaScript中的垃圾回收機制負責自動管理內(nèi)存,回收不再使用的對象所占用的內(nèi)存空間。本文主要介紹了JS中垃圾回收機制的相關(guān)知識,需要的可以參考一下
    2023-04-04
  • 常用js字符串判斷方法整理

    常用js字符串判斷方法整理

    js常用方法及字符串的常用判斷方法都是在工作中經(jīng)常用到的,在本文整理了一些,感興趣的朋友可以參考下
    2013-10-10
  • 你不知道的前端console用法分享

    你不知道的前端console用法分享

    console一定是各位前端最熟悉的小伙伴了,有些網(wǎng)站還會在控制臺輸出一些有意思的東西,下面這篇文章主要給大家介紹了關(guān)于前端console用法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-08-08
  • 如何利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能

    如何利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能

    Web Speech API使你能夠?qū)⒄Z音數(shù)據(jù)合并到Web應用程序中,SpeechSynthesisUtterance是HTML5中新增的API,用于將指定文字合成為對應的語音,這篇文章主要介紹了利用Web Speech API之speechSynthesis實現(xiàn)文字轉(zhuǎn)語音功能,需要的朋友可以參考下
    2024-06-06

最新評論