JS+CSS實現大氣清新的滑動菜單效果代碼_javascript技巧

來源:互聯網
上載者:User

本文執行個體講述了JS+CSS實現大氣清新的滑動菜單效果代碼。分享給大家供大家參考,具體如下:

這是一款比較大氣清新的滑動導覽功能表,CSS和JavaScript配合完成,滑鼠放到一級菜單上,會滑出二級的菜單,相容性也不錯,適合大多數網站使用,用到兩張背景圖片,請拷貝圖片地址下載圖片。

運行效果截圖如下:

線上示範地址如下:

http://demo.jb51.net/js/2015/js-css-dqqx-scroll-menu-demo/

具體代碼如下:

<!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>body {margin:25px; font:12px Verdana, Arial, Helvetica}* {padding:0; margin:0}.dropdown {float:left; padding-right:5px}.dropdown dt {width:188px; border:2px solid #9ac1c9; padding:8px; font-weight:bold; cursor:pointer; background:url(images/header.gif)}.dropdown dt:hover {background:url(images/header_over.gif)}.dropdown dd {position:absolute; overflow:hidden; width:208px; display:none; background:#fff; z-index:200; opacity:0}.dropdown ul {width:204px; border:2px solid #9ac1c9; list-style:none; border-top:none}.dropdown li {display:inline}.dropdown a, .dropdown a:active, .dropdown a:visited {display:block; padding:5px; color:#333; text-decoration:none; background:#eaf0f2; width:194px}.dropdown a:hover {background:#d9e1e4; color:#000}.dropdown .underline {border-bottom:1px solid #b9d6dc}</style><script type="text/javascript">var DDSPEED = 10;var DDTIMER = 15;function ddMenu(id,d){ var h = document.getElementById(id + '-ddheader'); var c = document.getElementById(id + '-ddcontent'); clearInterval(c.timer); if(d == 1){  clearTimeout(h.timer);  if(c.maxh && c.maxh <= c.offsetHeight){return}  else if(!c.maxh){   c.style.display = 'block';   c.style.height = 'auto';   c.maxh = c.offsetHeight;   c.style.height = '0px';  }  c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); }else{  h.timer = setTimeout(function(){ddCollapse(c)},50); }}function ddCollapse(c){ c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);}function cancelHide(id){ var h = document.getElementById(id + '-ddheader'); var c = document.getElementById(id + '-ddcontent'); clearTimeout(h.timer); clearInterval(c.timer); if(c.offsetHeight < c.maxh){  c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); }}function ddSlide(c,d){ var currh = c.offsetHeight; var dist; if(d == 1){  dist = (Math.round((c.maxh - currh) / DDSPEED)); }else{  dist = (Math.round(currh / DDSPEED)); } if(dist <= 1 && d == 1){  dist = 1; } c.style.height = currh + (dist * d) + 'px'; c.style.opacity = currh / c.maxh; c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')'; if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){  clearInterval(c.timer); }}</script></head><body><dl class="dropdown"> <dt id="one-ddheader" onmouseover="ddMenu('one',1)" onmouseout="ddMenu('one',-1)">源碼下載</dt> <dd id="one-ddcontent" onmouseover="cancelHide('one')" onmouseout="ddMenu('one',-1)">  <ul>   <li><a href="#" class="underline">最新源碼</a></li>   <li><a href="#" class="underline">下載排行</a></li>   <li><a href="#" class="underline">指令碼資源</a></li>   <li><a href="#">Ajax執行個體</a></li>  </ul> </dd></dl><dl class="dropdown"> <dt id="two-ddheader" onmouseover="ddMenu('two',1)" onmouseout="ddMenu('two',-1)">網頁特效</dt> <dd id="two-ddcontent" onmouseover="cancelHide('two')" onmouseout="ddMenu('two',-1)">  <ul>   <li><a href="#" class="underline">菜單導航</a></li>   <li><a href="#" class="underline">層和布局</a></li>   <li><a href="#" class="underline">圖片特效</a></li>  </ul> </dd></dl></body></html>

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.