基于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实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
网页前端登录js按Enter回车键实现登陆的两种方法
May 10 Javascript
javascript实现的全国省市县无刷新多级关联菜单效果代码
Aug 01 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
a标签置灰不可点击的实现方法
Feb 06 Javascript
vue+vux实现移动端文件上传样式
Jul 28 Javascript
AngularJS基于http请求实现下载php生成的excel文件功能示例
Jan 23 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
Apr 26 Javascript
详解Vue中Axios封装API接口的思路及方法
Oct 10 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
详解php反序列化
2020/06/10 PHP
用CSS+JS实现的进度条效果效果
2007/06/05 Javascript
HTML DOM的nodeType值介绍
2011/03/31 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
javascript HTML5 Canvas实现圆盘抽奖功能
2016/04/11 Javascript
AngularJs表单校验功能实例代码
2017/02/09 Javascript
详解Angularjs 如何自定义Img的ng-load 事件
2017/02/15 Javascript
JS获取一个表单字段中多条数据并转化为json格式
2017/10/17 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
pandas数据预处理之dataframe的groupby操作方法
2018/04/13 Python
python实现Windows电脑定时关机
2018/06/20 Python
Python高斯消除矩阵
2019/01/02 Python
在Qt中正确的设置窗体的背景图片的几种方法总结
2019/06/19 Python
python实现加密的方式总结
2020/01/19 Python
python同时遍历两个list用法说明
2020/05/02 Python
python cookie反爬处理的实现
2020/11/01 Python
基于Jquery和Css3代码制作可以缩放的搜索框
2015/11/19 HTML / CSS
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
全球最大的户外用品零售商之一:The House
2018/06/12 全球购物
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
历史系毕业生自荐信
2013/10/28 职场文书
学生思想表现的评语
2014/01/30 职场文书
服装电子商务创业计划书
2014/01/30 职场文书
网络教育自我鉴定
2014/02/04 职场文书
音乐教育专业自荐信
2014/09/18 职场文书
信息技术国培研修日志
2015/11/13 职场文书
用python自动生成日历
2021/04/24 Python
python tkinter Entry控件的焦点移动操作
2021/05/22 Python