基于jquery的页面划词搜索JS


Posted in Javascript onSeptember 14, 2010

基于Jquery修改,以下为全部脚本

//划词搜索 
var GLS = {}; 
GLS.startObj = null; 
GLS.isdb = false; 
GLS.allow = true; 
GLS.isallow = function() { 
if (GLS.allow) { 
GLS.allow = false; 
alert('Google搜索已关闭'); 
} 
else { 
GLS.allow = true; 
alert('Google搜索已打开'); 
} 
}; 
GLS.dblclick = function() { 
GLS.isdb = true; 
}; 
GLS.mousedown = function(evt) { 
evt = (evt) ? evt : ((window.event) ? window.event : ""); 
if (evt) { 
GLS.startObj = (evt.target) ? evt.target : evt.srcElement; 
} 
}; 
GLS.mouseup = function(evt) { 
var obj; 
var strlen; 
evt = (evt) ? evt : ((window.event) ? window.event : ""); 
if (evt) { 
obj = (evt.target) ? evt.target : evt.srcElement; 
strlen = window.getSelection ? window.getSelection().toString() : document.selection.createRange().text; 
} 
var str = ""; 
if (obj.tagName != "A" && obj.tagName != "INPUT" && obj == GLS.startObj && !GLS.isdb && GLS.allow) { 
if (strlen.length > 0) { 
str = strlen; 
} 
} 
GLS.search(str, evt); 
GLS.isdb = false; 
}; 
GLS.search = function(str, evt) { 
var obj = $("#GLSearch"); 
var sDivWidth = 88; //检索框“Google搜索”的宽度 
if (str.toString().length > 0) { 
var windowWidth; //窗口的宽 
//取得窗口的宽 
if (self.innerWidth) { 
windowWidth = self.innerWidth; 
} else if (document.documentElement && document.documentElement.clientWidth) { 
windowWidth = document.documentElement.clientWidth; 
} else if (document.body) { 
windowWidth = document.body.clientWidth; 
} 
obj.css({ 'display': 'block', 'position': 'absolute', 'zindex': '10000' }); 
var rX, rX, wT; 
if ($.browser.msie) { 
wT = (evt.clientX + sDivWidth) - windowWidth; 
rY = document.documentElement.scrollTop + evt.clientY; 
rX = document.documentElement.scrollLeft + evt.clientX; 
rY = (evt.clientY < 25) ? rY + 5 : rY - 25; 
rX = (wT > 0) ? rX - wT : rX + 5; 
} 
else { 
var sT = (document.documentElement.scrollTop > 0) ? document.documentElement.scrollTop : document.body.scrollTop; 
wT = (evt.pageX + sDivWidth) - windowWidth; 
rY = ((evt.pageY - sT) < 25) ? evt.pageY + 5 : evt.pageY - 25; 
rX = (wT > 0) ? evt.pageX - wT : evt.pageX + 5; 
} 
obj.css("top", rY); 
obj.css("left", rX); 
obj.html("<a class='GL_s' target='_blank' href='http://www.google.com/search?ie=UTF-8&oe=UTF-8&q=" + encodeURIComponent(str) + "'>Google搜索</a>"); 
} 
else { 
obj.css("display", "none"); 
} 
}; //页面加载 
$(document).ready(function() { 
$(document.body).append("<div id='GLSearch'></div>"); 
$(document).mousedown(GLS.mousedown).dblclick(GLS.dblclick).mouseup(GLS.mouseup); 
});------------附上CSS/*search*/ 
a.GL_s{width:68px;height:20px;display:block;border:solid 1px #2b7ab7;line-height:20px;padding-left:18px;color:#084f10;font-size:12px;font-weight:bold;background:url(search.gif) no-repeat left;text-decoration:none;} 
a.GL_s:link{filter:alpha(opacity=71);-moz-opacity:0.7;opacity: 0.7;} 
a.GL_s:hover{filter:alpha(opacity=100);-moz-opacity:1.0;opacity: 1.0;}----------search.gif图片

基于jquery的页面划词搜索JS
Javascript 相关文章推荐
犀利的js 函数集合
Jun 11 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
jQuery表格行上移下移和置顶的实现方法
Oct 08 Javascript
模拟javascript中的sort排序(简单实例)
Aug 17 Javascript
Canvas 制作动态进度加载水球详解及实例代码
Dec 09 Javascript
javascript使用递归算法求两个数字组合功能示例
Jan 03 Javascript
浅析javaScript中的浅拷贝和深拷贝
Feb 15 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
Jul 27 Javascript
浅谈es6中export和export default的作用及区别
Feb 07 Javascript
vue实现密码显示隐藏切换功能
Feb 23 Javascript
JS自定义滚动条效果
Mar 13 Javascript
如何用JS模拟实现数组的map方法
Jul 30 Javascript
基于Jquery的实现回车键Enter切换焦点
Sep 14 #Javascript
js输出列表实现代码
Sep 12 #Javascript
JavaScript日历实现代码
Sep 12 #Javascript
某页码显示的helper 少量调整,另附js版
Sep 12 #Javascript
网页中CDATA标记的说明
Sep 12 #Javascript
JavaScript小技巧 2.5 则
Sep 12 #Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 #Javascript
You might like
PHP的FTP学习(二)
2006/10/09 PHP
php 购物车的例子
2009/05/04 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
快速使用node.js进行web开发详解
2017/04/26 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
layui上传图片到服务器的非项目目录下的方法
2019/09/26 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
React实现评论的添加和删除
2020/10/20 Javascript
Vue中使用wangeditor富文本编辑的问题
2021/02/07 Vue.js
Python进程间通信Queue实例解析
2018/01/25 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
关于Tensorflow使用CPU报错的解决方式
2020/02/05 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
浅谈Django中的QueryDict元素为数组的坑
2020/03/31 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
python 在sql语句中使用%s,%d,%f说明
2020/06/06 Python
12个不为大家熟知的HTML5设计小技巧
2016/06/02 HTML / CSS
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
应届毕业生个人求职自荐信
2014/01/06 职场文书
社团文化节策划书
2014/02/01 职场文书
上班看电影检讨书
2014/02/12 职场文书
外出听课学习心得体会
2016/01/15 职场文书
找规律教学反思
2016/02/23 职场文书
python可视化之颜色映射详解
2021/09/15 Python
Python时间操作之pytz模块使用详解
2022/06/14 Python
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS