基于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 相关文章推荐
jQuery操作 input type=checkbox的实现代码
Jun 14 Javascript
jQuery的Ajax的自动完成功能控件简要说明
Feb 22 Javascript
详解AngularJS中自定义过滤器
Dec 28 Javascript
JS中多种方式创建对象详解
Mar 22 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 Javascript
使用Script元素发送JSONP请求的方法
Jun 12 Javascript
深入理解JS正则表达式---分组
Jul 18 Javascript
javascript之IE版本检测超简单方法
Aug 20 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
Apr 21 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
Jan 25 Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
Vue前端项目部署IIS的实现
Jan 06 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和MySql中计算时间差的方法
2011/04/22 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
javascript控制图片播放的实现代码
2020/07/29 Javascript
JavaScript中闭包的写法和作用详解
2016/06/29 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
webpack的CSS加载器的使用
2018/09/11 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
教你如何用Node实现API的转发(某音乐)
2019/09/20 Javascript
谈谈node.js中的模块系统
2020/09/01 Javascript
[06:33]DOTA2亚洲邀请赛小组赛第二日 TOP10精彩集锦
2015/01/31 DOTA
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
Python实现截屏的函数
2015/07/25 Python
回调函数的意义以及python实现实例
2017/06/20 Python
使用python对文件中的数值进行累加的实例
2018/11/28 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
2020/08/20 Python
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
银行出纳岗位职责
2013/11/25 职场文书
金融专业毕业生推荐信
2013/11/26 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
教师师德师风整改措施
2014/10/24 职场文书
2016参观监狱警示教育活动心得体会
2016/01/15 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
python基础之匿名函数详解
2021/04/21 Python