基于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 相关文章推荐
2007/12/23更新创意无限,简单实用(javascript log)
Dec 24 Javascript
javascript 一段左右两边随屏滚动的代码
Jun 18 Javascript
js 单引号 传递方法
Jun 22 Javascript
如何在指定的地方插入html内容和文本内容
Dec 23 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
深入理解angular2启动项目步骤
Jul 15 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
Aug 16 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
JavaScript实现创建自定义对象的常用方式总结
Jul 09 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
Sep 14 Javascript
解决vue组件中click事件失效的问题
Nov 09 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来自动调用不同服务器上的flash
2006/10/09 PHP
领悟php接口中interface存在的意义
2013/06/27 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
2014年最火的Node.JS后端框架推荐
2014/10/27 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
Ajax异步获取html数据中包含js方法无效的解决方法
2017/02/20 Javascript
浅谈regExp的test方法取得的值变化的原因及处理方法
2017/03/01 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
VUE解决微信签名及SPA微信invalid signature问题(完美处理)
2019/03/29 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Python实现全局变量的两个解决方法
2014/07/03 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python求最大值最小值方法总结
2019/06/25 Python
python如何实现代码检查
2019/06/28 Python
python实现从本地摄像头和网络摄像头截取图片功能
2019/07/11 Python
计算pytorch标准化(Normalize)所需要数据集的均值和方差实例
2020/01/15 Python
猎人靴英国官网:Hunter Boots
2017/02/02 全球购物
美国本地交易和折扣网站:LocalFlavor.com
2017/10/26 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
顶撞领导检讨书
2014/01/29 职场文书
秋季运动会开幕词
2015/01/28 职场文书
2015年复活节活动总结
2015/02/27 职场文书
六一儿童节新闻稿
2015/07/17 职场文书
2016年共产党员公开承诺书
2016/03/24 职场文书
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
docker compose 部署 golang 的 Athens 私有代理问题
2022/04/28 Servers