基于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 相关文章推荐
几个高效,简洁的字符处理函数
Apr 12 Javascript
jQuery中after的两种用法实例
Jul 03 Javascript
jquery实现侧边弹出的垂直导航
Dec 09 Javascript
在JavaScript的AngularJS库中进行单元测试的方法
Jun 23 Javascript
JavaScript淡入淡出渐变简单实例
Aug 06 Javascript
jQuery实现页面点击后退弹出提示框的方法
Aug 24 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
vue 2.0组件与v-model详解
Mar 27 Javascript
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
利用Webpack实现小程序多项目管理的方法
Feb 25 Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 Javascript
Vue.js中provide/inject实现响应式数据更新的方法示例
Oct 16 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制作新闻系统的思路
2006/10/09 PHP
基于在生产环境中使用php性能测试工具xhprof的详解
2013/06/03 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
PHP Socket网络操作类定义与用法示例
2017/08/30 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
替代window.event.srcElement效果的可兼容性的函数
2009/12/18 Javascript
ExtJS 学习专题(一) 如何应用ExtJS(附实例)
2010/03/11 Javascript
javascript匿名函数应用示例介绍
2014/03/07 Javascript
jquery移除、绑定、触发元素事件使用示例详解
2014/04/10 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
简单谈谈Vue 模板各类数据绑定
2016/09/25 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
2016/12/20 Javascript
用jQuery将JavaScript对象转换为querystring查询字符串的方法
2018/11/12 jQuery
Node.js + express基本用法教程
2019/03/14 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
微信小程序基于ColorUI构建皮皮虾短视频去水印组件
2020/11/04 Javascript
python中mechanize库的简单使用示例
2014/01/10 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
浅谈Python的方法解析顺序(MRO)
2020/03/05 Python
Python+Appium实现自动化测试的使用步骤
2020/03/24 Python
Django通过json格式收集主机信息
2020/05/29 Python
对python中list的五种查找方法说明
2020/07/13 Python
Python实现画图软件功能方法详解
2020/07/28 Python
python使用ctypes库调用DLL动态链接库
2020/10/22 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
农业资源与环境专业自荐信范文
2013/12/30 职场文书
幼儿园运动会口号
2014/06/07 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
感谢信范文大全
2015/01/23 职场文书
学校教师师德师风承诺书
2015/04/28 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
使用CSS设置滚动条样式
2022/01/18 HTML / CSS
vue使用wavesurfer.js解决音频可视化播放问题
2022/04/04 Vue.js