一、界面预览

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

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="data: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://5thirtyone.com/archives/2206

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

Demo下载:http://5thirtyone.com/sandbox/samples/fadefocus/all.zip

转载于:https://www.cnblogs.com/ywqu/archive/2009/12/23/1630925.html

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

  1. 实现Flex的TextArea文本中关键字的高亮显示

    最近做的Flex项目中有一个需求,要求在一个TextArea中输入文本时,当文本中出现SQL关键字(如select,from,where等)时,让这些关键字高亮显示. 经过一个下午的研究最终算是基本上 ...

  2. java文本敏感词、关键字搜索检测

    背景 在做一些跟内容相关的项目的时候,经常需要对内容文本中的内容进行检测,检测文本中是否包含某个敏感.违法等词汇,例如"贷款"."发票"之类的.有些狡猾的用户可 ...

  3. 中文文本中的关键字提取算法总结

    0.关键词提取 定义:从文本中把与这篇文章意义最相关的一些词语抽取出来. 应用:在文献检索.自动文摘.文本聚类/分类等方面有着重要的应用,它不仅是进行这些工作不可或缺的基础和前提,也是互联网上信息建库 ...

  4. 使用jquery合并表格中相同文本的相邻单元格

    一.效果 二.代码 <!DOCTYPE HTML> <html> <head><title>Example</title><meta ...

  5. jQuery: 合并表格中相同文本的相邻单元格

    一.效果 二.代码 <!DOCTYPE HTML> <html> <head><title>Example</title><meta ...

  6. Jquery在表格中搜索关键字

    Jquery在表格中搜索关键字 <!DOCTYPE html> <html> <head> <title>ddd</title> </ ...

  7. wml在文本框中输入中文关键字搜索时,服务端获取到的值总是乱码的解决方法。...

    wml在文本框中输入中文关键字搜索时,服务端获取到的值总是乱码,该如何解决? 现提供一个客户端对关键字编码,服务端再解析的方法,应该可以完美的解决这一问题. wml文件: <?xml versi ...

  8. html 高亮显示文本,在HTML文本高亮显示词(但不标记)(Highlight word in HTML text (bu...

    我想强调内部的任何HTML标签里面的身体,但不是所有的词匹配的字. 例如给出的关键字是"对". 这里的一段话: Example of paragraph. Lorem ipsum ...

  9. 深入学习jQuery描述文本内容的3个方法

    前面的话 在javascript中,描述元素内容有5个属性,分别是innerHTML.outerHTML.innerText.outerText和textContent.这5个属性各自有各自的功能,且 ...

最新文章

  1. python复数_python复数比较
  2. Docker中的“公开”和“发布”有什么区别?
  3. mqtt 异步消息 长连接 解析
  4. 8-spark学习笔记-sparksql
  5. 当 K8s 集群达到万级规模,阿里巴巴如何解决系统各组件性能问题?
  6. [置顶] SQL注入安全分析
  7. 文献记录(part74)--Subspace clustering via seeking neighbors with minimum reconstruction error
  8. Android实现ListView(2)
  9. 中国移动老功臣退休致辞:工作结束了 人生没结束
  10. java值得注意的几个问题
  11. 好用的小工具系列之---fastJson
  12. 支付宝出征世界杯!白岩松:“中国除了足球队没去,其他都去了”
  13. 【UWB定位】 - DWM1000模块调试简单心得 - 3
  14. Redis详细下载安装教程
  15. Word - 修改界面语言和校对语言
  16. csdn七牛云存储作为网站的图片外链
  17. 什么是 GPU 加速的计算?
  18. java问卷导入excel_Java利用已有的Excel文件导出新的Excel
  19. 机器学习——变分推断
  20. MySQL Galera 集群安装与配置详解

热门文章

  1. 网站seo优化每天需要做哪些事情呢?
  2. 网站降低用户跳出率的常见技巧有哪些?
  3. java开发一年多少钱_4年Java程序员:月薪不过3万,就不要拿命换钱了
  4. 宏基ec471g黑苹果_宏碁acer ec-471g 黑苹果配置教程
  5. python字符串打印教学_python字符串格式化教你正确打印 : D
  6. 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  7. linux只有上传文件到站点,史上最简单的上传文件到linux系统方法
  8. docker 卸载镜像_Centos7 安装 Docker
  9. 导致定时器失效_IIS进程回收导致定时器失效的解决方法(CMD命令)
  10. mongodb给我们提供了fsync+lock机制把数据暴力的刷到硬盘上