jquery+bootstrap学习笔记
最近小颖接了个私活,客户要求用jquery和bootstrap来实现业务需求,小颖总结了下在写的过程中的一下坑,来记录一下
1.动态加载html文件
switch (_domName) {
case 'firstMenu':
// 首页
$("main").load('home.html');
break
case 'secondMenu':
// 下拉菜单
$("main").load("dropdown.html");
break
case 'thirdMenu':
// 工具提示框
$("main").load("tooltips.html");
break
}
2.语音播报文字、暂停播报
function soundSpeak(text) {
const msg = new SpeechSynthesisUtterance();
msg.text = text; //播放文案
msg.volume = '1'; // 声音的音量,区间范围是0到1,默认是1。
msg.rate = '1'; // 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。
msg.pitch = '0'; // 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1。
msg.lang = 'zh-cn'; // 使用的语言,字符串, 例如:"zh-cn"
return msg;
}
var sound = window.speechSynthesis; // 定义局部变量
//播放
function playText(text) {
sound.speak(soundSpeak(text));
}
//停止
function stopSpeak() {
$('.open_voice').removeClass('active');
$('.open_voice').attr("src", 'img/horn.png');
sound.cancel();
}
当切换菜单时需判断当前是否在播放
if (sound.speaking) {
stopSpeak();
}
点击播放图标开始播放文字并切换图标
// 语音播放文字
$("main").delegate("img.open_voice", "click", function () { //delegate给后加的节点绑定事件
if ($(this).hasClass('active')) {
stopSpeak();
} else {
$(this).addClass('active');
$(this).attr("src", 'img/horn_close.png');
playText($('.txt-box').text());
}
});
默认:

点击后:

再次点击后图标变成默认状态
3.使用 $(document).load("dropdown.html"); 动态加载的元素,要给其子元素添加点击事件时使用以下方法是不可行的:
$('img.open_voice').click(function(){
})
需使用以下放发才能绑定其点击事件:
方法一:
$("main").delegate("img.open_voice", "click", function () { //delegate给后加的节点绑定事件
});
方法二:
$(document).on("click", "img.open_voice", function () { //给后加的节点绑定事件
alert(111111)
});
4.bootstrap 导航切换标记当前菜单
// 切换一级菜单
$('p.nav-link').click(function () {
var _childMenu = $('.dropdown-item.menu-child.active').attr('name');
var _domName = $(this).attr('name');
// 切换菜单时移除上一个菜单的子菜单选中类名
if (_childMenu && _domName && _childMenu != _domName) {
$('.dropdown-item.menu-child').removeClass('active');
}
$('p.nav-link.active').removeClass('active');
$(this).addClass('active');
if (sound.speaking) {
stopSpeak();
}
switch (_domName) {
case 'firstMenu':
// 首页
$("main").load('home.html');
break
case 'secondMenu':
// 下拉菜单
$("main").load("dropdown.html");
break
case 'thirdMenu':
// 工具提示框
$("main").load("tooltips.html");
break
}
});
5.bootstrap工具提示框显、隐
点自己显示,点其他地方隐藏
$('body').click(function () {
$("[data-toggle='popover']").popover('hide');
})
// 提示框点击事件
$("main").delegate(".tooltips-box span", "click", function (e) {
e.stopPropagation();
$('.tooltips-box span').removeClass('active_toggle');
$(this).addClass('active_toggle');
$("[data-toggle='popover']").popover('hide');
$(this).popover('show');
})
jquery+bootstrap学习笔记的更多相关文章
- bootstrap学习笔记之为导航条添加标题、二级菜单及状态 http://www.imooc.com/code/3120
为导航条添加标题.二级菜单及状态 加入导航条标题 在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也为大家做了这方面考虑,其通过" ...
- Bootstrap~学习笔记索引
回到占占推荐博客索引 bootstrap已经用了有段时间了,感觉在使用上还是比较容易接受的,在开发人员用起来上,也还好,不用考虑它的兼容性,手机,平台,PC都可以有效的兼容. bootstrap官方a ...
- Bootstrap学习笔记(二) 表单
在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文 ...
- bootstrap学习笔记之基础导航条 http://www.imooc.com/code/3111
基础导航条 在Bootstrap框中,导航条和导航从外观上差别不是太多,但在实际使用中导航条要比导航复杂得多.我们先来看导航条中最基础的一个--基础导航条. 使用方法: 在制作一个基础导航条时,主要分 ...
- Bootstrap学习笔记-布局
Bootstrap学习笔记-布局 默认是响应式布局,就是你在改变页面的时候也不会出现乱的现象. <html><head> <meta charset="utf- ...
- jQuery源代码学习笔记_工具函数_noop/error/now/trim
jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.n ...
- Bootstrap学习笔记博客
本片博客用于记录之后要用到Bootstrap的学习笔记 概括: Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架.Bootstrap 是基于 HTML.CSS.JAVASC ...
- bootstrap学习笔记--bootstrap安装环境
Bootstrap 安装是非常容易的.此文是本人的学习汇总,便于以后查询学习,同时也希望给大家带来帮助. 下载 Bootstrap 您可以从 http://getbootstrap.com/ 上下载 ...
- Bootstrap学习笔记系列1-------Bootstrap网格系统
Bootstrap网格系统 学习笔记 [TOC] 简单网格 先上代码再解释 <!DOCTYPE html> <html> <head> <title>B ...
随机推荐
- Odoo14 需要哪些技术
1 PostgreSQL:数据库,存储数据. 2 Python :主要作用是控制数据库,如:建表.关联字段.批量数据-- 3 html.css.javascript:基础前端. 4 scss:前端样式 ...
- 1. MGR简介 | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1. 为什么是MGR MGR是MySQL Group Replication的缩写,即MySQL组复制. 在以往,我们一般 ...
- WebView2 通过 PuppeteerSharp 实现爬取 王者 壁纸 (案例版)
此案例是<.Net WebView2 项目,实现 嵌入 WEB 页面 Chromium内核>文的续集. 主要是针对WebView2的一些微软自己封装的不熟悉的API,有一些人已经对 Pup ...
- BZOJ1787/Luogu4281: [Ahoi2008]Meet 紧急集合
画画图可知,三点\(lca\)必有两相同,\(a,b,c\)距离为\(dis_a + dis_b + dis_c - dis_{lca(a,b)} - dis_{lca(b,c)} - dis_{lc ...
- jsp获取单选按钮组件的值
jsp获取单选按钮组件的值 1.首先,写一个带有单选按钮组件的前台页 1 <%@ page language="java" contentType="text/ht ...
- Jira使用浅谈篇一
本篇参考: https://www.jianshu.com/u/9dd427d9ad94 Salesforce 生命周期管理(二)Agile & Scrum 浅谈 我们都知道 salesfor ...
- Java Web中MVC设计模式与IOC
MVC是由Model(模型).View(视图).Controller(控制器)三个模块组成 视图:用于做数据展示以及和用户交互的一个界面(html页面) 控制层:能够接受客户端的请求,具体的业务功能还 ...
- 「学习笔记」斜率优化dp
目录 算法 例题 任务安排 题意 思路 代码 [SDOI2012]任务安排 题意 思路 代码 任务安排 再改 题意 思路 练习题 [HNOI2008]玩具装箱 思路 代码 [APIO2010]特别行动 ...
- Qt QBarSeries简易柱状图教程
博客园最强Qt QBarSeries简易柱状图教程 前情提要 每个人的绘图需求不同,此篇教程也是根据需求来改的.我的需求大概如下所示. 通过信号槽的方式接收signals来刷新柱状图,所以每次触发信号 ...
- 在Boss直聘上投简历时,怎样保证有新消息时能及时收到
最近在Boss直聘上投简历,偶尔会有HR给我发消息,不想在电脑上错过这些消息,但我又不能时时刻刻盯着这个页,怎么办呢? 这时,我想起来,之前做过的Chrome插件,如果检测到Boss直聘上新消息数大于 ...