- 浏览: 347808 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
pacoson:
感谢楼主。请受小生一拜。
ANT预编译JSP -
zhuhongming123:
一楼的同学Lucene4.* 以上的 已经改成了Numeric ...
Lucene日期排序及组合查询 -
ywjk520:
RangeQuery在哪个包里?
Lucene日期排序及组合查询 -
willwen:
有个疑问,楼主,为何初始化bits 从txt读取已有的网址是直 ...
布隆过滤器(Bloom Filter)之java实例 -
yu_226528:
还不如没有呢
jFreeChart 在jsp页上实现简单的折线图、柱状图
高亮功能主要是指对页面中指定区域的指定文字进行高亮显示,也就是背景着色。一般在搜索结果页面会经常用到这个功能。下面就为大家提供两种解决方案,分别用javascript和jquery插件实现。
-
使用Javascript实现
首先在<head>中引入下面javascript方法:
<script type="text/javascript"> //<![CDATA[ //--------begin function fHl(o, flag, rndColor, url)------------------// function fHl(o, flag, rndColor, url){ /// <summary> /// 使用 javascript HTML DOM 高亮显示页面特定字词. /// 实例: /// fHl(document.body, '纸伞|她'); /// 这里的body是指高亮body里面的内容。 /// fHl(document.body, '希望|愁怨', false, '/'); /// fHl(document.getElementById('at_main'), '独自|飘过|悠长', true, 'search.asp?keyword='); /// 这里的'at_main'是指高亮id='at_main'的div里面的内容。search.asp?keyword=指给关键字加的链接地址, /// 我这里加了一个参数,在后面要用到。可以是任意的地址。 /// </summary> /// <param name="o" type="Object"> /// 对象, 要进行高亮显示的对象. /// </param> /// <param name="flag" type="String"> /// 字符串, 要进行高亮的词或多个词, 使用 竖杠(|) 分隔多个词 . /// </param> /// <param name="rndColor" type="Boolean"> /// 布尔值, 是否随机显示文字背景色与文字颜色, true 表示随机显示. /// </param> /// <param name="url" type="String"> /// URI, 是否对高亮的词添加链接. /// </param> /// <return></return> var bgCor=fgCor=''; if(rndColor){ bgCor=fRndCor(10, 20); fgCor=fRndCor(230, 255); } else { bgCor='#F0F'; fgCor='black'; } var re=new RegExp(flag, 'i'); for(var i=0; i<o.childNodes.length; i++){ var o_=o.childNodes[i]; var o_p=o_.parentNode; if(o_.nodeType==1) { fHl(o_, flag, rndColor, url); } else if (o_.nodeType==3) { if(!(o_p.nodeName=='A')){ if(o_.data.search(re)==-1)continue; var temp=fEleA(o_.data, flag); o_p.replaceChild(temp, o_); } } } //------------------------------------------------ function fEleA(text, flag){ var style=' style="background-color:'+bgCor+';color:'+fgCor+';" ' var o=document.createElement('span'); var str=''; var re=new RegExp('('+flag+')', 'gi'); if(url){ str=text.replace(re, '<a href="'+url+ '$1"'+style+'>$1</a>'); //这里是给关键字加链接,红色的$1是指上面链接地址后的具体参数。 } else { str=text.replace(re, '<span '+style+'>$1</span>'); //不加链接时显示 } o.innerHTML=str; return o; } //------------------------------------------------ function fRndCor(under, over){ if(arguments.length==1){ var over=under; under=0; }else if(arguments.length==0){ var under=0; var over=255; } var r=fRandomBy(under, over).toString(16); r=padNum(r, r, 2); var g=fRandomBy(under, over).toString(16); g=padNum(g, g, 2); var b=fRandomBy(under, over).toString(16); b=padNum(b, b, 2); //defaultStatus=r+' '+g+' '+b return '#'+r+g+b; function fRandomBy(under, over){ switch(arguments.length){ case 1: return parseInt(Math.random()*under+1); case 2: return parseInt(Math.random()*(over-under+1) + under); default: return 0; } } function padNum(str, num, len){ var temp='' for(var i=0; i<len;temp+=num, i++); return temp=(temp+=str).substr(temp.length-len); } } } //--------end function fHl(o, flag, rndColor, url)--------------------// //]]> </script>
上面的fHl方法就是用来实现高亮的,参数的含义在注释中有写。
然后在页面最后调用fHl方法,对指定区域指定文字高亮着色,例如:
<script type="text/javascript"> fHl(document.body, '高亮'); //对页面body的区域中的“高亮”文字背景着色 </script>
-
使用Jquery插件实现
jQuery Highlight Plugin是一款专门用来实现文本高亮显示的jquery插件,它用法简单且功能完善。
使用方法如下:
- 在<head>中引入jquery文件及插件文件jquery.highlight.js
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <script type="text/javascript" src="jquery.highlight.js"></script>
- 在css中或通过jquery指定高亮区域的颜色:
.highlight {background-color: #FFFF88; }
$(".highlight").css({ backgroundColor: "#FFFF88" });
- 设置需要高亮显示的词语或通过事件触发高亮显示。例如:
$("h1").highlight("highlight"); //高亮显示所有h1标签中的“highligh”
$("body p").unhighlight(); //取消所有body中段落里的高亮显示;
$("p").highlight("jQuery highlight plugin"); //高亮段落中的词条 “jQuery highlight plugin”
$("p").highlight(["jQuery", "highlight", "plugin"]); //高亮段落中的 “jQuery”,“highlight”及“plugin”
$("p").highlight("Highlight", { caseSensitive: true }); //高亮段落中的 “Highlight”,区分大小写。
$("p").highlight("light", { wordsOnly: true }); //高亮段落中的 “light”,必须是完整单词,“highlight”中的“light”不会高亮
$("p").highlight("highlight", { element: 'em', className: 'error' }); //高亮段落中的 “hightlight”,并为其指定父标签为em,class为error
$("p").highlight("highlight", { element: 'em', className: 'error' }); //高亮段落中的 “hightlight”,并为其指定父标签为em,class为error
$("body p").highlight("jQuery", { element: 'a', className: 'jQueryLink'}); $("body p a.jQueryLink").attr({ href: 'http://jquery.com' }); //高亮段落中的 “jQuery”,并为其加上链接。
在该插件主页可查看 实际效果
下载该插件:jquery.highlight.js
- 在<head>中引入jquery文件及插件文件jquery.highlight.js
-
<%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>detail.jsp</title> <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/jquery.highlight.js"></script> <script type="text/javascript"> function saveInfor(id){ $.get("collection/save.do?id="+id+"&t="+Math.random(),function callback(data){ alert(data); }); } function a(){ /*var ref = document.referrer; var index = ref.lastIndexOf('key='); if(index == -1) return; ref = ref.substring(index+4, ref.length) var key = decodeURI(ref);*/ <% String key = request.getParameter("key"); %> $("#highlight-content").highlight('<%=key%>'); } </script> <style type="text/css"> .highlight{background-color:yellow;padding:2px;} </style> <link rel="stylesheet" type="text/css" href="css/css/admin.css"> <link rel="stylesheet" type="text/css" href="css/css/front.css"> <link rel="stylesheet" type="text/css" href="css/css/jquery_validate.css"> <link rel="stylesheet" type="text/css" href="css/css/jquery_alerts.css"> <link rel="stylesheet" type="text/css" href="css/css/master.css"> </head> <body onload="a()"> <div align="center" > <div align="left" style="width: 70%;background-color: #F5F8FD;" > <br/> <h3 align="center"><b>${informationDetail.title}</b></h3><a href="javascript:saveInfor('${informationDetail.id }')">添加到我的收藏</a> <hr width="70%" align="center" color="#D0D7E1" size="1"/> <div align="center">${informationDetail.url} ${informationDetail.createDate} ${informationDetail.source} <br></div> <div class="blkContainerSblkCon" id="highlight-content"> ${informationDetail.content}<br> </div> </div> </div> </body> </html>
发表评论
-
js跨域问题之跨域iframe自适应大小
2011-07-25 08:45 1216前几天做公司和开心网 ... -
判断浏览器类型
2011-01-05 15:47 844<script language="JavaS ... -
ie和火狐兼容问题(解决方案)
2011-01-05 15:40 14781. document.form.item 问题 (1)现 ... -
鼠标右键选中copy功能(IE&FF兼容)
2011-01-05 15:36 930<!DOCTYPE html PUBLIC " ... -
关于document.cookie的使用
2010-12-23 18:25 965设置cookie 每个cookie都是一个名/值对,可以把下 ... -
仿中华英才网城市选择
2010-07-09 15:19 1660<!DOCTYPE HTML PUBLIC " ... -
firefox兼容ie读取xml节点方法的解决方案实例
2010-07-09 15:14 2490<html> <head> < ... -
jQuery总结
2010-04-22 13:52 7501、关于页面元素的引用通过jquery的$()引用元素包括通过 ... -
精通 JS正则表达式
2009-11-12 17:28 935精通 JS正则表达式 (精通?标题党 ) 正则表达式可以: • ... -
javascript错误代码对应手册
2009-06-18 22:54 1074JScript 运行时错误 JScript 运行时错误是指当 ... -
Javascript 操作select控件大全
2009-06-18 11:48 757Javascript 操作select控件大全(新增、修改、删 ... -
CSS全攻略
2009-06-18 11:37 768CSS全称Cascading Style Sheet。层叠 ...
相关推荐
这个插件简化了在网页中实现动态树形菜单的过程,为开发者提供了便捷的解决方案。 jQuery是一个广泛使用的JavaScript库,它通过提供一套简洁的API来简化DOM操作、事件处理、动画和Ajax交互。在创建树形菜单时,...
jQuery UI库提供了一种简单易用的解决方案,即Draggable和Droppable组件,可以方便地实现元素的拖放操作。本文将详细介绍如何使用jQuery UI实现拖动排序。 首先,我们需要了解jQuery UI的基本概念。jQuery UI是基于...
jQuery提供了一种强大的解决方案,可以创建出具有响应式设计的、美观的手机下拉框。本主题主要关注如何使用jQuery实现黑白两种不同样式的响应式手机下拉框。 首先,我们需要理解jQuery的基础。jQuery是一个轻量级的...
本文将深入探讨如何使用这两种技术来实现这一功能。 首先,我们需要了解不同浏览器对选取文本的支持方式有所不同。在IE9以下的版本中,它使用`document.selection`对象来处理选中的文本,而其他现代浏览器如Firefox...
总的来说,jQuery的`addClass`和`removeClass`方法提供了灵活且高效的高亮显示解决方案,结合CSS样式设计,可以轻松地实现各种视觉效果。在开发过程中,应根据实际场景选择最合适的实现方式,以保证代码的简洁性和可...
**2.2 jQuery的解决方案** 为了解决这些问题,jQuery提供了一个更为灵活的方法——`$(document).ready()`。当文档结构解析完成,但并未加载完诸如图片等资源时,即可触发此事件。 **2.3 使用示例** ```javascript $...
它由百度公司开发,旨在提供简单、易用且功能丰富的文本编辑解决方案。"umeditor1.2.3-utf8-jsp" 版本是该编辑器的一个特定发行版,包含了UTF-8编码支持,适合在Java服务器页面(JSP)环境中使用。 1. **UMEditor ...
综上所述,jQuery-bigSlider插件是利用jQuery库构建的一种响应式图片轮播解决方案,它结合了当前图片高亮和图片放大等聚焦效果,为网页设计增加了动态性和吸引力。开发者可以轻松集成这个插件到他们的项目中,以提升...
在JavaScript的世界里,jQuery是一个非常流行的库,它极大地简化了DOM...对于找不到特定版本`vsdoc`的情况,开发者可以通过多种途径寻求解决方案,确保他们在使用最新版本的jQuery时依然能享受到强大的代码提示功能。
本项目“jquery hover事件导航条”旨在提供一种优雅的解决方案,利用jQuery库的hover事件来实现动态的菜单导航效果。这个效果使得当鼠标悬停在导航条的某个链接上时,对应的浮动div层会滑动出现,以高亮显示,从而...
jQuery插件在Web开发中广泛使用,特别是在处理用户界面交互和增强用户体验方面。"表格奇偶交替,加亮显示"的jQuery插件是这类插件中的一个实例,它...对于任何处理大量数据的网页,这都是一个值得考虑的实用解决方案。
这个插件利用jQuery的强大功能,实现锚链接的平滑过渡效果,同时包含了两种特效:模糊和弹性。模糊特效可能是指在滚动过程中,元素的可见度逐渐增加或减少,模拟出一种模糊到清晰的过渡;弹性特效则可能意味着滚动...
总结来说,jQuery Editable Select 提供了一个强大且灵活的下拉选择框解决方案,通过CSS和JS的结合,实现了可输入、可实时查询的功能,极大地提升了用户体验。开发者可以根据项目需求进行定制,以满足各种复杂场景的...
标题中的“jquery实现的两边会显示部分额外2张图片的宽屏...总的来说,这个压缩包提供了一套完整的jQuery实现的宽屏焦点图解决方案,对于想要在自己的网页中添加类似效果的开发者来说,这是一个很好的学习和参考资源。
在"css-jquery后台模板"中,这两种技术被巧妙地结合在一起,构建出具有高效、美观且用户友好的后台管理界面。 1. CSS在后台模板中的作用: - **布局管理**:CSS通过盒模型、定位和流体布局等概念,确保后台模板的...
在本实例中,可能包含两种不同的导航菜单实现,这两种菜单可能都具有响应式设计,能够适应不同设备的屏幕尺寸,提供一致的用户体验。 描述中提到的"repeater绑定数据库显示",暗示了这些菜单可能支持动态数据加载。...
导航条的分类目录可能通过CSS的Flexbox或Grid布局来实现,这两种现代布局模式允许我们轻松地创建多列或多行的网格系统,适应不同数量的菜单项。同时,通过媒体查询,我们可以根据屏幕尺寸应用不同的CSS规则,实现...
本压缩包"jQuery异步加载分页代码.zip"提供了一种利用jQuery来实现异步加载分页的解决方案,主要涉及到的知识点包括jQuery基础、AJAX异步请求和分页逻辑处理。 1. **jQuery基础**:jQuery是一个广泛使用的...
本项目源码"jQuery+d3.js实现的企业组织架构效果图源码.zip"正是基于这个需求,结合了jQuery的易用性和d3.js的强大数据可视化能力,为用户提供了灵活且直观的组织结构展示方案。 首先,jQuery是一个广泛使用的...
"jQuery手机端网页tab选项卡代码"就是一个针对这种情况而设计的解决方案。它主要用于创建一种类似于团购应用中的功能,用户可以通过点击不同的选项卡查看优惠券的状态,如未使用、已使用或已过期。 jQuery是一款...