原文:scripts tutorials    (来自脚本教程网的教程,翻译可能有些不对。。。想要试试

音效下拉菜单

在这个教程中我们将讲述如何开发酷炫的音效下拉菜单(html5 + css3)。下拉菜单有css3动画效果(菜单元素有整洁的悬浮特效)同时也使用了html5的Audio元素来添加菜单的音效,准备好了吗?那就开始吧。

Musical drop down menu

Our new tutorial tells about developing cool musical drop down menu (html5 + css3). This menu has css3 animation effects (neat hover effect to menu elements). We also used html5 Audio element in order to add music to this menu. If you are ready, lets start.

Final result | 最终效果

这儿是示例和下载包:|Here are samples and downloadable package:

Step 1. HTML

首先,我们应该准备菜单的HTML布局。每个菜单元素(实际上是一个无序的列表项)都要有描点(链接),或者嵌套等级。

As the first, we should prepare HTML layout of our menu. Each menu element (which actually is a unordered list item) has anchor, or nested level.

  • Menu element

    • Submenu element

    .....

Menu 4

.....

Step 2. CSS

这是菜单的css样式:|Here are the CSS styles of our menu:

#nav,#nav ul {

list-style: none outside none;

margin: 0;

padding: 0;

}

#nav {

font-family: "Lucida Sans Unicode",Verdana,Arial,sans-serif;

font-size: 13px;

height: 36px;

list-style: none outside none;

margin: 40px auto;

text-shadow: 0 -1px 3px #202020;

width: 700px;

/* border radius */

-moz-border-radius: 4px;

-webkit-border-radius: 4px;

border-radius: 4px;

/* box shadow */

-moz-box-shadow: 0px 3px 3px #cecece;

-webkit-box-shadow: 0px 3px 3px #cecece;

box-shadow: 0 3px 4px #8b8b8b;

/* gradient */

background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #787878), color-stop(0.5, #5E5E5E), color-stop(0.51, #707070), color-stop(1, #838383));

background-image: -moz-linear-gradient(center bottom, #787878 0%, #5E5E5E 50%, #707070 51%, #838383 100%);

background-color: #5f5f5f;

}

#nav li {

border-bottom: 1px solid #575757;

border-left: 1px solid #929292;

border-right: 1px solid #5d5d5d;

border-top: 1px solid #797979;

display: block;

float: left;

height: 34px;

position: relative;

width: 105px;

}

#nav > li:first-child {

border-left: 0 none;

margin-left: 5px;

}

#nav ul {

left: -9999px;

position: absolute;

top: -9999px;

z-index: 2;

}

#nav ul li {

background: none repeat scroll 0 0 #838383;

box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.5);

width: 100%;

}

#nav li a {

color: #FFFFFF;

display: block;

line-height: 34px;

outline: medium none;

text-align: center;

text-decoration: none;

/* gradient */

background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #787878), color-stop(0.5, #5E5E5E), color-stop(0.51, #707070), color-stop(1, #838383));

background-image: -moz-linear-gradient(center bottom, #787878 0%, #5E5E5E 50%, #707070 51%, #838383 100%);

background-color: #5f5f5f;

}

/* keyframes #animation */

@-webkit-keyframes animation {

0% {

-webkit-transform: scale(1);

}

30% {

-webkit-transform: scale(1.2);

}

100% {

-webkit-transform: scale(1.1);

}

}

@-moz-keyframes animation {

0% {

-moz-transform: scale(1);

}

30% {

-moz-transform: scale(1.2);

}

100% {

-moz-transform: scale(1.1);

}

}

#nav li > a:hover {

/* CSS3 animation */

-webkit-animation-name: animation;

-webkit-animation-duration: 0.3s;

-webkit-animation-timing-function: linear;

-webkit-animation-iteration-count: 1;

-webkit-animation-direction: normal;

-webkit-animation-delay: 0;

-webkit-animation-play-state: running;

-webkit-animation-fill-mode: forwards;

-moz-animation-name: animation;

-moz-animation-duration: 0.3s;

-moz-animation-timing-function: linear;

-moz-animation-iteration-count: 1;

-moz-animation-direction: normal;

-moz-animation-delay: 0;

-moz-animation-play-state: running;

-moz-animation-fill-mode: forwards;

}

#nav li:hover ul {

left: 0;

top: 34px;

width: 150px;

}

当我们鼠标停留在一个列表项时,将会有一个仿真跳动特效。

When we hover over a list item, we will animate (scale) it once to emulate beat effect.

Step 3. HTML5 JavaScript

现在,是时候添加音乐了。首先,我们应该准备一个空队列(用来存储音频文件),然后当页面准备好了,初始化音乐:

Now, it is time to add music here. In the beginning, we should prepare a new empty array (to keep our Audio objects), and then, when the page is ready, initialize the music:

// variables

var aLoops = []; // sound loops

// initialization

addEvent(window, 'load', function (event) {

// load music files

aLoops[0] = new Audio('media/background.ogg');

aLoops[0].volume = 0.3;

aLoops[1] = new Audio('media/button.ogg');

aLoops[1].volume = 1.0;

aLoops[2] = new Audio('media/button_click.ogg');

aLoops[2].volume = 1.0;

aLoops[0].addEventListener('ended', function() { // loop background sound

this.currentTime = 0;

this.play();

}, false);

aLoops[0].play();

});

然后,我们要添加不同的事件处理:鼠标悬停,鼠标离开和点击:

And then, we should add the handlers to different events: mouseover, mouseout and click:

// all the buttons

var aBtns = document.querySelectorAll('#nav li');

// onmouseover event handler

addEvent(aBtns, 'mouseover', function (event) {

aLoops[1].currentTime = 0;

aLoops[1].play(); // play click sound

});

// onmouseout event handler

addEvent(aBtns, 'mouseout', function (event) {

aLoops[1].currentTime = 0;

aLoops[1].pause(); // play click sound

});

// onclick event handler

addEvent(aBtns, 'click', function (event) {

aLoops[2].currentTime = 0;

aLoops[2].play(); // play click sound

});

瞧,完成了。( ͡° ͜ʖ ͡°)

And voila, we have finalized it.

来源:oschina

链接:https://my.oschina.net/u/2331171/blog/488750

html鼠标滑过带音效,html5 + css3 带音效下拉菜单的实现相关推荐

  1. html5折叠卡片,基于HTML5折叠卡片式下拉菜单代码

    基于HTML5折叠卡片式下拉菜单代码.这是一款基于jQuery+CSS3+HTML5实现的下拉列表框特效代码.效果图如下: 实现的代码. hmtl代码: 爱编程 爱编程 jQuery特效 CSS3特效 ...

  2. html+css3实现二级下拉菜单

    2019独角兽企业重金招聘Python工程师标准>>> 下面我们一起来看看实现这款CSS3下拉菜单的过程和源码,代码比较简单,主要由HTML和CSS实现,并不需要JavaScript ...

  3. html下拉菜单制作方法,CSS3制作Dropdown下拉菜单的方法

    :target 是CSS3 中新增的一个伪类,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id="comment"的位置,俗 ...

  4. html下拉菜单原理,HTML5 教程之CSS 下拉菜单

    CSS 下拉菜单 使用 CSS 创建一个鼠标移动上去后显示下拉菜单的效果. 下拉菜单实例 实例演示 1 文本下拉菜单 实例演示 2 下拉菜单 实例演示 3 基本下拉菜单 当鼠标移动到指定元素上时,会出 ...

  5. css3如何写下拉菜单,css如何实现下拉菜单 超详细

    首页 >web前端>css教程>正文 css如何实现下拉菜单?css实现下拉菜单的方法(完整代码) 原创2019-04- 本篇文章给大家带来的内容是关于css如何实现下拉菜单?css ...

  6. 纯css3代码写下拉菜单效果

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  7. 10个优秀的 HTML5 CSS3 下拉菜单制作教程

    下拉菜单是一个很常见的效果,在网站设计中被广泛使用.通过使用下拉菜单,设计者不仅可以在网站设计中营造出色的视觉吸引力,但也可以为网站提供了一个有效的导航方案.使用 HTML5 和 CSS3 可以更容易 ...

  8. 左侧栏下拉框HTML代码,html5下拉菜单代码

    html5如何实现文本框下拉选项功能 使用html5或者jQuery如何实现文本框下拉效果,如下图 CSS布局HTML小编今天和大家分享大神详解最好有可以使用HTML5 list 属性.list 属性 ...

  9. 动态导航多级下拉菜单 html,css3实现的多级渐变下拉菜单导航效果代码

    本文实例讲述了css3实现的多级渐变下拉菜单导航效果代码.分享给大家供大家参考.具体如下: 这是一款基于css3实现的下拉菜单导航,是非常漂亮的动画菜单,而且是多级菜单的形式,测试时发现可支持5级,估 ...

最新文章

  1. WeX5 -- xcode7+iphone免费帐号打包详解
  2. boost::multiprecision模块mpfr相关的测试程序
  3. 骚出天际!一个程序员女装照片的开源项目
  4. jqgrid本地数据例子_办公系统私有云公有云和本地化部署,你选哪个?
  5. 动态调用链接库(dll) 续
  6. html字幕滚动条,html中滚动条的代码是什么?如何设置html滚动条?
  7. javascript判断日期奇偶_JavaScript_简介学习4
  8. .net 一些常用的工具来破解
  9. Oracle不完全恢复-主动恢复和incarnation/RMAN-20208/RMAN-06004
  10. 输入单个空格字符_字符美化丶替换丶转换
  11. react native 使用TabNavigator编写APP底部导航
  12. 单位阶跃函数的傅里叶变换_傅里叶变换学习笔记(9)
  13. 越看越爽,此后统计学习不再是路人!
  14. Mysql存储过程和函数区别介绍
  15. soundpool android,android – 如何获取Soundpool的持续时间
  16. file Java 读取_Java读取文件方法汇总
  17. 计算机编程专业有哪些,计算机本科编程专业开设的全部专业课程有哪些
  18. VB编写的验证码生成器
  19. Git clean简介
  20. 自著——30天自制计算机语言解释器 目录

热门文章

  1. 弗洛伊德算法(求最短路径)
  2. 兼具高效与易用,融云 IM 即时通讯长连接协议设计思路
  3. STM32WB系列调试总结
  4. PR片头模板 3D全息数字扫描大脑后展示logo开场片头PR模板
  5. 死亡结束生命,却不会结束一段关系
  6. java读取docx_java使用poi读取doc和docx文件
  7. javascript取整方法floor、round、ceil
  8. 第314场Leetcode周赛|使用机器人打印字典序最小的字符串
  9. 文件上传---FormData格式的传参
  10. 基于JSP后台的电影院选座售票小程序 毕业设计毕设作品欣赏