基于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 相关文章推荐
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
Mar 18 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
Aug 11 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
Aug 09 Javascript
JavaScript仿百度图片浏览效果
Nov 23 Javascript
原生js验证简洁注册登录页面
Dec 17 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
Feb 23 Javascript
解决jquery validate 验证不通过后验证正确的信息仍残留在label上的方法
Aug 27 jQuery
JS实现提示框跟随鼠标移动
Aug 27 Javascript
JS实现打砖块游戏
Feb 14 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
织梦模板标记简介
2007/03/11 PHP
PHP之变量、常量学习笔记
2008/03/27 PHP
php删除指定目录的方法
2015/04/03 PHP
浅谈PHP中output_buffering
2015/07/13 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
PHP弱类型语言中类型判断操作实例详解
2017/08/10 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
HR vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
Jquery使用css方法改变样式实例
2015/05/18 Javascript
js将当前时间格式化为 年-月-日 时:分:秒的实现代码
2018/01/20 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
Vue 使用iframe引用html页面实现vue和html页面方法的调用操作
2020/11/16 Javascript
jQuery实现鼠标拖动图片功能
2021/03/04 jQuery
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python爬取国外天气预报网站的方法
2015/07/10 Python
在python中使用with打开多个文件的方法
2019/01/07 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
logging level级别介绍
2020/02/21 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
HTML5的革新 结构之美
2011/06/20 HTML / CSS
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
学生检讨书范文
2014/10/30 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
北大自主招生自荐信
2015/03/04 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
拥有这5个特征人,“命”都不会太差
2019/08/16 职场文书
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL
python神经网络ResNet50模型
2022/05/06 Python