语音控制的tab选项卡

前端开发whqet,csdn,王海庆,whqet,前端开发专家

ladies and 乡亲们,程序猿同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了。

语音识别高不高端、难不难?

今天给大家推荐一个简单易用的js实现的语音识别框架annyang,然后一个案例示范使用。

在线案例下载收藏

annyang是一个能够实现语音识别的js类库,小巧易用(只2k),兼容中文。接下来我们看看怎么使用。

首先导入该annyang库,能够使用CDN的方式,也能够下载来使用。

<!--下载到本地使用-->
<script src="js/annyang.min.js" type="text/javascript" charset="utf-8"></script>
<!--cdn方式使用-->
<script src="https://www.talater.com/annyang.min.js" type="text/javascript" charset="utf-8"></script>

然后我们就能够在js里使用该类库了,開始之前我们须要推断annyang对象是否存在。

// 首先推断 annyang对象是否存在
  if (annyang) {
  	// 语音识别命令推断

  }
  else{
  	// 错误提示信息

  }

annyang通过设置命令、语音识别匹配命令的方式的进行工作,详细的使用代码例如以下。

// 首先推断 annyang对象是否存在
if (annyang) {
    // 语音识别命令推断

    // 定义命令
  var commands = {
    ‘go‘: function() {
      window.location.href="http://blog.csdn.net/whqet/";
    },
  };

  //设置设别语言
  annyang.setLanguage(‘zh-cn‘);
  //打开调试
  //annyang.debug(‘on‘);
  // 加入命令
  annyang.addCommands(commands);

  // 启动语音识别,也能够绑定在事件上
  annyang.start();
}else{
	// 错误提示信息
}

annyang的基本使用就这样,我们来看看今天的这个tab,详细的实现步骤例如以下。

html

<ul class="tabs">
    <li class="active" rel="tab1">新闻</li>
    <li rel="tab2">通知</li>
    <li rel="tab3">公告</li>
    <li rel="tab4">备注</li>
</ul>
<div class="tab_container">
    <div id="tab1" class="tab_content">
        <h2>新闻</h2>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac metus augue.</p>
    </div>
    <!-- #tab1 -->
    <div id="tab2" class="tab_content">
        <h2>通知</h2>
        <p>Nunc dui velit, scelerisque eu placerat volutpat, dapibus eu nisi. Vivamus eleifend vestibulum odio non vulputate.</p>
    </div>
    <!-- #tab2 -->
    <div id="tab3" class="tab_content">
        <h2>公告</h2>
        <p>Nulla eleifend felis vitae velit tristique imperdiet. Etiam nec imperdiet elit. Pellentesque sem lorem, scelerisque sed facilisis sed, vestibulum sit amet eros.</p>
    </div>
    <!-- #tab3 -->
    <div id="tab4" class="tab_content">
        <h2>备注</h2>
        <p>Integer ultrices lacus sit amet lorem viverra consequat. Vivamus lacinia interdum sapien non faucibus. Maecenas bibendum, lectus at ultrices viverra, elit magna egestas magna, a adipiscing mauris justo nec eros.</p>
    </div>
    <!-- #tab4 -->
</div>
<!-- .tab_container -->

css

ul.tabs {
	margin: 0;
	padding: 0;
	float: left;
	list-style: none;
	height: 32px;
	border-bottom: 1px solid #333;
	width: 100%;
}

ul.tabs li {
	float: left;
	margin: 0;
	cursor: pointer;
	padding: 0px 21px;
	height: 31px;
	line-height: 31px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	background-color: #666;
	color: #ccc;
	overflow: hidden;
	position: relative;
}

.tab_last {
	border-right: 1px solid #333;
}

ul.tabs li:hover {
	background-color: #ccc;
	color: #333;
}

ul.tabs li.active {
	background-color: #fff;
	color: #333;
	border-bottom: 1px solid #fff;
	display: block;
}

.tab_container {
	border: 1px solid #333;
	border-top: none;
	clear: both;
	float: left;
	width: 100%;
	background: #fff;
	overflow: auto;
}

.tab_content {
	padding: 20px;
}

js,这里用到了jquery,annyang

$(document).ready(function(){
	//普通tab,单击控制
	$(".tab_content").hide();
	$(".tab_content:first").show();
	$(‘ul.tabs li‘).last().addClass("tab_last");

	$("ul.tabs li").click(function() {

		$(".tab_content").hide();
		$(".tab_content").eq($(this).index()).show();

		$("ul.tabs li").removeClass("active");
		$(this).addClass("active");

	});

	// 语音控制,首先推断 annyang对象是否存在。
	if (annyang) {
		// 定义语音控制命令里使用的函数,切换tab
		var showTab=function(i){
			$(".tab_content").hide();
			$(".tab_content").eq(i).show();

			$("ul.tabs li").removeClass("active");
			$("ul.tabs li").eq(i).addClass("active");
		};

		// 定义命令
		var commands = {
		  ‘新闻‘:		function(){showTab(0)},
		  ‘通知‘:		function(){showTab(1)},
		  ‘公告‘:		function(){showTab(2)},
		  ‘备注‘:		function(){showTab(3)},
		};

		// 设置语言,默觉得en
		annyang.setLanguage(‘zh-cn‘);
		// 可选设置,调试功能打开,建议开发阶段打开
		annyang.debug();
		// 加入命令
		annyang.addCommands(commands);
		// 開始侦听annyang,也能够绑定在事件上
		annyang.start();
	}
})

That‘s it. 敬请留言,说说你的意见和建议。

另外,该案例主要使用“Web Speech API”,眼下比較悲催的是该api唯独webkit内核支持,兼容全部浏览器的方案正在研究中,兼容性表格例如以下。

大家也能够在chrome开发人员工具的Console里查看语音的识别情况,有时候普通话不标准也会出问题,呵呵,我女儿今年四半岁,看见我在语音控制也跃跃欲试,然后“通知”说成“同子”,然后就非常急躁,当然成熟的语音识别方案应该也兼容模糊音,浏览器的语音识别还有非常长的路要走。

感谢大家的留言和宝贵意见,有好的解决方式第一时间告诉大家。

----------------------------------------------------------

前端开发whqet,关注web前端开发,分享相关资源,欢迎点赞,欢迎拍砖。
---------------------------------------------------------------------------------------------------------

语音控制的tab选项卡,布布扣,bubuko.com

时间: 2024-12-19 14:05:00

语音控制的tab选项卡的相关文章

语音导航的tab选项卡效果

前端开发whqet,csdn,王海庆,whqet,前端开发专家 ladies and 乡亲们,程序员同志们,周末仍然坚守工作岗位,或者学习不辍的童鞋们,福音来了. 语音识别高不高端.难不难? 今天给大家推荐一个简单易用的js实现的语音识别框架annyang,然后一个案例示范使用. 在线案例,下载收藏. annyang是一个能够实现语音识别的js类库,小巧易用(仅仅2k),兼容中文.接下来我们看看怎么使用. 首先导入该annyang库,可以使用CDN的方式,也可以下载来使用. <!--下载到本地使

javascript控制制作tab选项卡(兼容ie6,FF,chrome等)

今天分享一个javascript制作选项卡的代码.所以自己尝试做了,以前一般都是用CSS做的,现在用js做,虽然很简单,不过要考虑到它的可维护性和可重复性,扩展性就要多考虑一些东西了.   下面是我写的代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> &l

js实现的tab选项卡功能

js实现的tab选项卡功能:选项卡功能在各种网站有各种形式的应用和,当时实现选项卡功能的方式也有多种多样,下面就简单介绍一下使用js实现选项卡功能的一种方式,在美观方面就不去精雕细刻了,只介绍js实现此功能的原理.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http:/

tab选项卡切换代码

tab选项卡切换代码,是通过js来控制一些div的显示达到选项卡切换的效果. 另外可以参考<tab选项卡切换代码>.<CSS选项卡效果代码>.<DIV+CSS选项卡>. 别的不多说了,看DIV+CSS选项卡的演示: 演示地址:tab-xuanxiangka-477/index.htm 下载地址:tab-xuanxiangka-477.zip 另外推荐QQ在线客服代码可以拖动浮动.对联广告滚动代码包括flash和图片.不间断图片左右滚动代码.左右上下浮动广告代码.可浮动的

工作当中实际运用(1)——tab选项卡

不废话 直接上代码: tab选项卡 window.onload=function(){ var titles= document.getElementById('header-dh').getElementsByTagName('li');//先获取到id header-dh 下面所有的li var divs= document.getElementById('section-1').children; //在获取到id section-1 下面的子属性 .children是获取子元素的意思 f

自创简易CSS Tab 选项卡

前段时间我注册了 w3c.run域名,打算做一个W3C相关技术在线试验工具.没错,就是在线编写html.css.js代码然后在线运行,查看效果. 在设计首页时,我打算首页提供三个代码编辑器,介于界面大小限制,不宜同时显示三个编辑器,考虑采用tab选项卡切换的方式展现. 另外考虑到页面加载速度问题(我可能是个性能狂),找了几个他人写的tab,感觉都不太理想,主要是代码量有些大,有的甚至要用特定js库. 于是我干脆自己写了一个.代码量很小,相对还算灵活吧,可以再稍加css修饰使其更加上档次. 效果图

注重结构、语义、用户体验的Tab选项卡

效果如下图所示: HTML code: <!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-

【锋利的JQuery-学习笔记】Tab选项卡的实现

效果图: 关键点: 1.标签和标签内容都是用<ul><li>实现的,主要是通过Css样式设计成选项卡的模样. 2.用js代码实现点击标签时,标签内容的切换(做法是<div id="jnBrandList">横向滚动). html: <div id="jnBrand"> <div id="jnBrandTab"> <h2 title="品牌活动">品牌活动&

原生js实现tab选项卡里内嵌图片滚动特效代码

<!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8"><title>原生js实现tab选项卡里内嵌图片滚动特效代码</title><meta name="keywords" content="原生js实现tab选项卡里内嵌图片滚动特效代码" /><meta name=&