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 相关文章推荐
用javascript动态调整iframe高度的代码
Apr 10 Javascript
jquery 笔记 事件
Nov 02 Javascript
jQuery页面加载初始化常用的三种方法
Jun 04 Javascript
理解javascript回调函数
Dec 28 Javascript
javascript批量修改文件编码格式的方法
Jan 27 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
理解JavaScript中Promise的使用
Jan 18 Javascript
JS实现六位字符密码输入器功能
Aug 19 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
Jan 04 Javascript
纯JS单页面赛车游戏制作代码分享
Mar 03 Javascript
Vue 中对图片地址进行拼接的方法
Sep 03 Javascript
微信小程序自定义轮播图
Nov 04 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
用php+mysql一个名片库程序
2006/10/09 PHP
CodeIgniter删除和设置Cookie的方法
2015/04/07 PHP
PHP 闭包详解及实例代码
2016/09/28 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
在IE中调用javascript打开Excel的代码(downmoon原作)
2007/04/02 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
提高javascript效率 一次判断,而不要次次判断
2012/03/30 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
EsLint入门学习教程
2017/02/17 Javascript
BootStrap 动态表单效果
2017/06/02 Javascript
Angular 4.0学习教程之架构详解
2017/09/12 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
Puppeteer环境搭建的详细步骤
2018/09/21 Javascript
基于axios 的responseType类型的设置方法
2019/10/29 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
python基础教程之面向对象的一些概念
2014/08/29 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
django认证系统实现自定义权限管理的方法
2018/07/16 Python
python引用(import)某个模块提示没找到对应模块的解决方法
2019/01/19 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
python生成13位或16位时间戳以及反向解析时间戳的实例
2020/03/03 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
Notino希腊:购买香水和美容产品
2019/07/25 全球购物
社区义诊活动总结
2014/04/30 职场文书
机械设备与数控技术专业求职信
2014/08/10 职场文书
学术会议邀请函
2015/01/30 职场文书
西安大雁塔导游词
2015/02/10 职场文书
行政答辩状范文
2015/05/21 职场文书
会计继续教育培训心得体会
2016/01/19 职场文书
Python接口自动化之文件上传/下载接口详解
2022/04/05 Python