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 qq右下角滑出窗口 sheyMsg
Mar 21 Javascript
Javascript 类与静态类的实现
Apr 01 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
Sep 06 Javascript
Javascript中判断对象是否为空
Jun 10 Javascript
JS实现具备延时功能的滑动门菜单效果
Sep 17 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
vue Render中slots的使用的实例代码
Jul 19 Javascript
React-router v4 路由配置方法小结
Aug 08 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
使用Vue调取接口,并渲染数据的示例代码
Oct 28 Javascript
js表达式与运算符简单操作示例
Feb 15 Javascript
js实现随机抽奖
Mar 19 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
对盗链说再见...
2006/10/09 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
基于PHP生成静态页的实现方法
2013/05/10 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
非常实用的PHP常用函数汇总
2014/12/17 PHP
php计算整个mysql数据库大小的方法
2015/06/19 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
浅谈PHP中关于foreach使用引用变量的坑
2016/11/14 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
Thinkphp5 自定义上传文件名的实现方法
2019/07/23 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
php中用unset销毁变量并释放内存
2020/05/10 PHP
PHP7新增函数
2021/03/09 PHP
利用XMLHTTP传递参数在另一页面执行并刷新本页
2006/10/26 Javascript
jQuery live( type, fn ) 委派事件实现
2009/10/11 Javascript
关于文本框的一些限制控制总结~~
2010/04/15 Javascript
php 中序列化和json使用介绍
2013/07/08 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
javascript:window.open弹出窗口的位置问题
2014/03/18 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
解决vux 中popup 组件Mask 遮罩在最上层的问题
2020/11/03 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
django rest framework vue 实现用户登录详解
2019/07/29 Python
Python机器学习工具scikit-learn的使用笔记
2021/01/28 Python
期末考试动员演讲稿
2014/01/10 职场文书
汇报材料怎么写
2014/12/30 职场文书
运动会表扬稿范文
2015/05/05 职场文书