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

JS實現(xiàn)橫向拉伸動感伸縮菜單效果代碼

 更新時間:2015年09月04日 12:32:17   作者:企鵝  
這篇文章主要介紹了JS實現(xiàn)橫向拉伸動感伸縮菜單效果,涉及javascript基于定時函數(shù)及鼠標(biāo)事件操作頁面元素動態(tài)變換的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)橫向拉伸動感伸縮菜單效果代碼。分享給大家供大家參考。具體如下:

這是一款JS實現(xiàn)的縱向拉伸變橫向拉伸,動感伸縮菜單,緊身排列的CSS菜單,可用在博客等重要的位置部分作菜單,學(xué)習(xí)JavaScript前端設(shè)計的也可以作為參考范例。

運(yùn)行效果截圖如下:

在線演示地址如下:

http://demo.jb51.net/js/2015/js-row-show-menu-style-codes/

具體代碼如下:

<!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=gb2312" />
<title>有彈性的菜單</title>
<style>
*{ margin:0px; padding:0px;} body { background:#fff;} .naver{list-style-type:
none; width:700px; overflow:hidden; margin:100px auto 0;} .naver li{ width:100px;
height:50px; overflow:hidden; font-size:16px; text-align:center; cursor:
pointer; } .naver li a,.naver li a:hover{display: block;width:100px; height:50px;
line-height: 50px; color:#FFF; text-decoration: none; } .co1{ background:#649e37}
.co2{ background:#028fbc}
</style>
<script type="text/javascript">
  window.onload = function() {
   var oUl = document.getElementById("nav");
   var aLi = oUl.getElementsByTagName("li");
   var i = 0;
   for (i = 0; i < aLi.length; i++) {
    aLi[i].timer = null;
    aLi[i].speed = 0;
    aLi[i].onmouseover = function() {
     startMove(this, 250);
    };
    aLi[i].onmouseout = function() {
     startMove2(this, 100);
    };
   }
  };
  function startMove(obj, iTarget) {
   if (obj.timer) {
    clearInterval(obj.timer);
   }
   obj.timer = setInterval(function() {
    doMove(obj, iTarget);
   }, 30)
  };
  function doMove(obj, iTarget) {
   obj.speed += 3;
   if (Math.abs(iTarget - obj.offsetWidth) < 1 && Math.abs(obj.speed) < 1) {
    clearInterval(obj.timer);
    obj.timer = null;
   }
   else {
    if (obj.offsetWidth + obj.speed >= iTarget) {
     obj.speed *= -0.7;
     obj.style.width = iTarget + "px";
    }
    else {
     obj.style.width = obj.offsetWidth + obj.speed + "px";
    }
   }
  };
  function startMove2(obj, iTarget) {
   if (obj.timer) {
    clearInterval(obj.timer);
   }
   obj.timer = setInterval(function() {
    doMove2(obj, iTarget);
   }, 30)
  };
  function doMove2(obj, iTarget) {
   obj.speed -= 3;
   if (Math.abs(iTarget - obj.offsetWidth) < 1 && Math.abs(obj.speed) < 1) {
    clearInterval(obj.timer);
    obj.timer = null;
   }
   else {
    if (obj.offsetWidth + obj.speed <= iTarget) {
     obj.speed *= -0.7;
     obj.style.width = iTarget + "px";
    }
    else {
     obj.style.width = obj.offsetWidth + obj.speed + "px";
    }
   }
  };
</script>
</head>
<body>
 <ul id="nav" class="naver">
  <li class="co1">
   <a href="#">首頁</a>
  </li>
  <li class="co2">
   <a href="#">愛好</a>
  </li>
  <li class="co1">
   <a href="#">作品</a>
  </li>
  <li class="co2">
   <a href="#">聯(lián)系</a>
  </li>
  <li class="co1">
   <a href="#">博客</a>
  </li>
 </ul>
</body>
</html>

希望本文所述對大家的javascript程序設(shè)計有所幫助。

相關(guān)文章

  • javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式

    javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式

    這篇文章主要介紹了javascript內(nèi)嵌式與外鏈?zhǔn)降幕緫?yīng)用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • 微信小程序?qū)崿F(xiàn)頁面浮動導(dǎo)航

    微信小程序?qū)崿F(xiàn)頁面浮動導(dǎo)航

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)頁面浮動導(dǎo)航,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • JavaScript Canvas繪制動態(tài)線框效果

    JavaScript Canvas繪制動態(tài)線框效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript Canvas繪制動態(tài)線框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • input file上傳 圖片預(yù)覽功能實例代碼

    input file上傳 圖片預(yù)覽功能實例代碼

    input file上傳圖片預(yù)覽其實很簡單。今天小編就通過本文給大家介紹input file上傳 圖片預(yù)覽功能的實現(xiàn)代碼,比較簡單,對input file 上傳預(yù)覽功能感興趣的朋友參考下吧
    2016-10-10
  • JavaScript對象的特性與實踐應(yīng)用深入詳解

    JavaScript對象的特性與實踐應(yīng)用深入詳解

    這篇文章主要介紹了JavaScript對象的特性與實踐應(yīng)用,結(jié)合實例形式較為深入的分析了javascript對象的相關(guān)概念、操作方法及注意事項,需要的朋友可以參考下
    2018-12-12
  • 老生常談ES6中的類

    老生常談ES6中的類

    下面小編就為大家?guī)硪黄仙U凟S6中的類。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • bootstrapValidator 重新啟用提交按鈕的方法

    bootstrapValidator 重新啟用提交按鈕的方法

    bootstrapValidator 使用中,由于字段檢查等原因,致使提交按鈕失效。如何重新啟用提交按鈕呢?下面小編給大家介紹下bootstrapValidator 重新啟用提交按鈕的方法,需要的朋友可以參考下
    2017-02-02
  • JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    JavaScript判斷變量是否為undefined的兩種寫法區(qū)別

    這篇文章主要是對JavaScript判斷變量是否為undefined的兩種寫法區(qū)別進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2013-12-12
  • jQuery和JavaScript節(jié)點插入元素的方法對比

    jQuery和JavaScript節(jié)點插入元素的方法對比

    本文主要介紹jQuery與JavaScript節(jié)點的插入方法,以及他們的具體代碼實現(xiàn)方法,大家可以對比下他們之間的不同,希望對大家編寫代碼有所幫助
    2016-11-11
  • 原生js實現(xiàn)中獎信息無間隙滾動效果

    原生js實現(xiàn)中獎信息無間隙滾動效果

    本文主要分享了原生js實現(xiàn)中獎信息無間隙滾動效果的示例代碼。具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論