基于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 相关文章推荐
jsTree树控件(基于jQuery, 超强悍)[推荐]
Sep 01 Javascript
关于jquery ajax 调用带参数的webservice返回XML数据一个小细节
Jul 31 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
jquery动态添加option示例
Dec 30 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
详解JavaScript基于面向对象之创建对象(2)
Dec 10 Javascript
浅谈javascript中的事件冒泡和事件捕获
Dec 28 Javascript
npm配置国内镜像资源+淘宝镜像的方法
Sep 07 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
详解关于html,css,js三者的加载顺序问题
Apr 10 Javascript
scrapyd schedule.json setting 传入多个值问题
Aug 07 Javascript
在vue中使用vuex,修改state的值示例
Nov 08 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 setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
jQuery each()小议
2010/03/18 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
2014/12/08 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
Vue2.0 组件传值通讯的示例代码
2017/08/01 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
Angular中点击li标签实现更改颜色的核心代码
2017/12/08 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
2018/09/25 Javascript
js通过canvas生成图片缩略图
2020/10/02 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python实现批量按比例缩放图片效果
2018/03/30 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
python中append实例用法总结
2019/07/30 Python
Falconeri美国官网:由羊绒和羊毛制成的针织服装
2018/04/08 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
党的群众路线教育实践活动查摆问题自查报告
2014/10/10 职场文书
北京故宫的导游词
2015/01/31 职场文书
博士给导师的自荐信
2015/03/06 职场文书
储备店长岗位职责
2015/04/14 职场文书
公司员工体检通知
2015/04/21 职场文书
同意报考公务员证明
2015/06/17 职场文书
《文化苦旅》读后感:阅读,让人诗意地栖居在大地上
2019/12/24 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
Java数据结构之链表相关知识总结
2021/06/18 Java/Android