Jquery 高亮显示文本中重要的关键字


Posted in Javascript onDecember 24, 2009

一、界面预览

Jquery 高亮显示文本中重要的关键字

  鼠标放到右边的Tab按钮上,文字透明度降低,同时一段文字高亮显示,效果如下:

Jquery 高亮显示文本中重要的关键字

 

  Demo地址:http://5thirtyone.com/sandbox/samples/fadefocus/

  很绚丽的效果幺!

二、实现原理

 

  将要高亮显示的文字加上<span>段落标记, class=”mask”的div 做为遮罩层,使此遮罩层位于文字内容之上(z-index属性,使用Jquery给段落动态添加样式类。
三、HTML代码

<div class="wrapper"> 
<ul class="entity-results"> 
<li><a class="d1" href="#">Summary</a></li> 
<li><a class="d2" href="#">Avatar</a></li> 
<li><a class="d3" href="#">Formats</a></li> 
</ul> 
<div class="content"> 
<h2> 
Avatar (2009 film)</h2> 
<div class="entity-source"> 
<img src="images/avatar.jpg" alt="Avatar poster" /> 
<p> 
Avatar, also known as James Cameron's Avatar, is an American 3-D science fiction 
epic film written and directed by <a href="http://en.wikipedia.org/wiki/James_Cameron"> 
James Cameron</a>, and was released on December 16, 2009 by 20th Century Fox. 
The film is co-produced by <a href="http://en.wikipedia.org/wiki/Lightstorm_Entertainment"> 
Lightstorm Entertainment</a>, and <span class="d1">focuses on an epic conflict on Pandora</span>, 
an inhabited Earth-sized moon of Polyphemus, one of three fictional gas giants orbiting 
<a href="http://en.wikipedia.org/wiki/Alpha_Centauri_A">Alpha Centauri A</a>. On 
Pandora, human colonists and the sentient humanoid indigenous inhabitants of Pandora, 
the Na'vi, engage in a war over the planet's resources and the latter's continued 
existence. The film's title refers to <span class="d2">an avatar, a representation of 
a real person in a virtual world</span>.</p> 
<p> 
<span class="d3">The film was released in 2D and 3D formats</span>, along with an 
IMAX 3D release in selected theaters. The film is being touted as a breakthrough 
in terms of filmmaking technology, for its development of 3D viewing and stereoscopic 
filmmaking with cameras that were specially designed for the film's production.</p> 
<p> 
Read the rest of the <a href="http://en.wikipedia.org/wiki/Avatar_(2009_film)">original 
Wikipedia page about Avatar</a></p> 
<div class="mask"> 
</div> 
</div> 
</div> 
</div>

entity-results类中显示了Tab按钮,每个按钮控制左边文字的透明度,段落文字的高亮显示。
entity-source类中有三个段落span Calss分别为 d1 d2 d3,也就是高亮文字段落。
class=”mask”的空div放到最后,此Div也就是一个遮罩层。
四、CSS关键代码
.entity-source, .entity-source span.show 
{ 
position: relative; 
} 
.entity-source .mask 
{ 
display: none; 
position: absolute; 
top: 0; 
left: 0; 
height: 100%; 
width: 100%; 
z-index: 1; 
} 
.entity-source span 
{ 
z-index: 2; 
} 
.entity-source span.show 
{ 
background: #ffc; 
color: #000; 
}

类mask中的z-index:1 使得<div class=”mask”> 覆盖在左边文字内容之上。
z-nidex:2又使得span段落覆盖在<div class=”mask”>之上。从而显示实现了段落文字高亮显示。
五、Jquery代码
jQuery(document).ready(function($) { 
// mask source 控制mask的动画效果 
var maskSource = jQuery('.mask'); 
jQuery('.entity-results').hover(function() { 
maskSource.animate({opacity:0.7},1).fadeIn('750'); 
}, function() { 
maskSource.fadeOut('1000'); 
}); 
// match hover 控制段落的高亮显示 
var sample1 = jQuery('span.d1'); 
var sample2 = jQuery('span.d2'); 
var sample3 = jQuery('span.d3'); 
jQuery('a.d1').hover(function() { 
sample1.addClass('show'); //给段落添加类 
}, function() { 
sample1.removeClass('show'); //移除段落类 
}); 
jQuery('a.d2').hover(function() { 
sample2.addClass('show'); 
}, function() { 
sample2.removeClass('show'); 
}); 
jQuery('a.d3').hover(function() { 
sample3.addClass('show'); 
}, function() { 
sample3.removeClass('show'); 
}); 
});

动画函数animate(params, [duration], [easing], [callback])
Params:一组包含作为动画属性和终值的样式属性和及其值的集合
duration (可选):种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
easing (可选):要使用的擦除效果的名称(需要插件支持).默认jQuery提供"linear" 和 "swing".
callback (可选):在动画完成时执行的函数
淡入效果函数:fadeIn(speed, [callback])
Speed:三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (可选):(Optional) 在动画完成时执行的函数
淡出效果函数:fadeOut解释同fadeIn
演示地址:http://demo.3water.com/html/fadefocus/index.html
打包下载地址: http://xiazai.3water.com/200912/yuanma/fadefocus.rar
Javascript 相关文章推荐
DLL+ ActiveX控件+WEB页面调用例子
Aug 07 Javascript
jQuery布局插件UI Layout简介及使用方法
Apr 03 Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 Javascript
JavaScript中的定时器之Item23的合理使用
Oct 30 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
浅析如何利用angular结合translate为项目实现国际化
Dec 08 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
详解javascript立即执行函数表达式IIFE
Feb 13 Javascript
vue中如何引入jQuery和Bootstrap
Apr 10 jQuery
微信小程序实现搜索指定景点周边美食、酒店
May 18 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 Javascript
解决vue+webpack项目接口跨域出现的问题
Aug 10 Javascript
JQuery 写的个性导航菜单
Dec 24 #Javascript
JavaScript中出现乱码的处理心得
Dec 24 #Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 #Javascript
CSS+Jquery实现页面圆角框方法大全
Dec 24 #Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 #Javascript
javascript下arguments,caller,callee,call,apply示例及理解
Dec 24 #Javascript
关于Aptana Studio生成自动备份文件的解决办法
Dec 23 #Javascript
You might like
深入解析WordPress中加载模板的get_template_part函数
2016/01/11 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
Yii2.0 RESTful API 基础配置教程详解
2018/12/26 PHP
PDO::exec讲解
2019/01/28 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jquery获取复选框被选中的值
2014/04/10 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
创建js对象和js类的方法汇总
2014/12/24 Javascript
javascript实现日期按月份加减
2015/05/15 Javascript
jquery悬浮提示框完整实例
2016/01/13 Javascript
JavaScript获取当前url根目录(路径)
2016/06/17 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
使用prop解决一个checkbox选中后再次选中失效的问题
2017/07/05 Javascript
vue中动态设置meta标签和title标签的方法
2018/07/11 Javascript
微信开发之微信jssdk录音功能开发示例
2018/10/22 Javascript
vue实现点击按钮下载文件功能
2019/10/11 Javascript
原生js实现贪食蛇小游戏的思路详解
2019/11/26 Javascript
vue数据响应式原理知识点总结
2020/02/16 Javascript
taro 实现购物车逻辑的实例代码
2020/06/05 Javascript
Javascript异步流程控制之串行执行详解
2020/09/27 Javascript
JavaScript实现商品评价五星好评
2020/11/30 Javascript
python 数据的清理行为实例详解
2017/07/12 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
在Python中字典根据多项规则排序的方法
2019/01/21 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
HTML5不支持标签和新增标签详解
2016/06/27 HTML / CSS
京东全球售:直邮香港,澳门,台湾,美国,澳大利亚等地区
2017/09/24 全球购物
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
德能勤绩工作总结
2015/08/11 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书