基于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 相关文章推荐
把JS与CSS写在同一个文件里的书写方法
Jun 02 Javascript
10个实用的脚本代码工具
May 04 Javascript
JavaScript访问样式表代码
Oct 15 Javascript
form表单只提交数据而不进行页面跳转的解决方案
Sep 18 Javascript
JQuery对class属性的操作实现按钮开关效果
Oct 11 Javascript
js时间戳格式化成日期格式的多种方法
Nov 11 Javascript
js 高效去除数组重复元素示例代码
Dec 19 Javascript
jquery插件开发之实现jquery手风琴功能分享
Mar 10 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
vue.extend与vue.component的区别和联系
Sep 19 Javascript
浅谈Node 异步IO和事件循环
May 05 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
PHP goto语句简介和使用实例
2014/03/11 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
关于PHP中协程和阻塞的一些理解与思考
2017/08/11 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
js实现ArrayList功能附实例代码
2014/10/29 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
vue router 用户登陆功能的实例代码
2019/04/24 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
2020/03/02 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
你真的了解Python的random模块吗?
2017/12/12 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
python实现远程控制电脑
2019/05/23 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
Python3之外部文件调用Django程序操作model等文件实现方式
2020/04/07 Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
2020/04/08 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
内容编辑个人求职信
2013/12/10 职场文书
大学生职业生涯规划书模版
2013/12/30 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
昆虫记读书笔记
2015/06/26 职场文书
英文投诉信格式
2015/07/03 职场文书