基于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 Ajax学习实例6 向WebService发出请求,返回DataSet(XML) 异步调用
Mar 18 Javascript
JS中如何设置readOnly的值
Dec 25 Javascript
详解JavaScript中的构造器Constructor模式
Jan 14 Javascript
在Html中使用Requirejs进行模块化开发实例详解
Apr 15 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
Jan 11 Javascript
微信小程序 登录实例详解
Jan 16 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
angularJs中datatable实现代码
Jun 03 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
vue ssr服务端渲染(小白解惑)
Nov 10 Javascript
微信小程序全选多选效果实现代码解析
Jan 21 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
Jun 06 jQuery
基于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
兼容PHP5的PHP目录管理函数库
2008/07/10 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
addRule在firefox下的兼容写法
2006/11/30 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
微信小程序 WebSocket详解及应用
2017/01/21 Javascript
手把手教你使用vue-cli脚手架(图文解析)
2017/11/08 Javascript
浅谈Angular文字折叠展开组件的原理分析
2017/11/24 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
vue .js绑定checkbox并获取、改变选中状态的实例
2018/08/24 Javascript
深入理解react-router 路由的实现原理
2018/09/26 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
Python中字典的基本知识初步介绍
2015/05/21 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Django工程的分层结构详解
2019/07/18 Python
使用python远程操作linux过程解析
2019/12/04 Python
使用python去除图片白色像素的实例
2019/12/12 Python
Python中return函数返回值实例用法
2020/11/19 Python
Molly Bracken法国电子商店:法国女性时尚品牌
2019/07/24 全球购物
机电专业体育教师求职信
2013/09/21 职场文书
表扬信格式
2014/01/12 职场文书
中国梦演讲稿5分钟
2014/08/19 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
武夷山导游词
2015/02/03 职场文书
二手房购房意向书
2015/05/09 职场文书
二审代理词范文
2015/05/25 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
教务处教学工作总结
2015/08/10 职场文书