javascript 页面划词搜索JS


Posted in Javascript onSeptember 28, 2009

基于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;}
Javascript 相关文章推荐
很全的显示阴历(农历)日期的js代码
Jan 01 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
jQuery操作input type=radio的实现代码
Jun 14 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
Dec 28 Javascript
详解webpack模块加载器兼打包工具
Sep 11 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
详解vue 命名视图
Aug 14 Javascript
小程序中设置缓存过期的实现方法
Jan 14 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 Javascript
jquery 模式对话框终极版实现代码
Sep 28 #Javascript
javascript的onchange事件与jQuery的change()方法比较
Sep 28 #Javascript
支持ie与FireFox的剪切板操作代码
Sep 28 #Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
Sep 28 #Javascript
javascript parseInt 大改造
Sep 27 #Javascript
网页自动跳转代码收集
Sep 27 #Javascript
JavaScript中Object和Function的关系小结
Sep 26 #Javascript
You might like
PHP实现把文本中的URL转换为链接的auolink()函数分享
2014/07/29 PHP
PHP模板引擎Smarty之配置文件在模板变量中的使用方法示例
2016/04/11 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
基于laravel缓冲cache的用法详解
2019/10/23 PHP
javascript 自定义事件初探
2009/08/21 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
2015/04/17 Javascript
Javascript必知必会(四)js类型转换
2016/06/08 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
JavaScript HTML DOM元素 节点操作汇总
2019/07/29 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Python中的random()方法的使用介绍
2015/05/15 Python
Python闭包的两个注意事项(推荐)
2017/03/20 Python
Python判断文件和字符串编码类型的实例
2017/12/21 Python
Python3处理HTTP请求的实例
2018/05/10 Python
使用python 3实现发送邮件功能
2018/06/15 Python
解决python tkinter界面卡死的问题
2019/07/17 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
自学python用什么系统好
2020/06/23 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
用pip给python安装matplotlib库的详细教程
2021/02/24 Python
用HTML5制作一个简单的弹力球游戏
2015/05/12 HTML / CSS
策划主管的工作职责
2013/11/24 职场文书
工作中个人的自我评价
2013/12/31 职场文书
应用英语专业自荐信
2014/01/26 职场文书
《月迹》教学反思
2014/02/19 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
父母寄语大全
2014/04/12 职场文书
投资合作协议书范本
2014/04/17 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
SQL Server内存机制浅探
2022/04/06 SQL Server