基于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的图片左右无缝滚动插件
May 23 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
JS实现跟随鼠标闪烁转动色块的方法
Feb 26 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
灵活使用数组制作图片切换js实现
Jul 28 Javascript
JavaScript实现弹窗效果代码分析
Mar 09 Javascript
jQuery实现Select下拉列表进行状态选择功能
Mar 30 jQuery
vue.js中npm安装教程图解
Apr 10 Javascript
JS实现根据指定值删除数组中的元素操作示例
Aug 02 Javascript
node微信开发之获取access_token+自定义菜单
Mar 17 Javascript
TypeScript中的方法重载详解
Apr 12 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
May 17 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
通过html表格发电子邮件
2006/10/09 PHP
php 正则表达式小结
2009/08/31 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
php中如何使对象可以像数组一样进行foreach循环
2013/08/09 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
完美解决在ThinkPHP控制器中命名空间的问题
2017/05/05 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
给超链接添加特效鼠标移动展示提示信息且随鼠标移动
2013/10/17 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
输入框点击时边框变色效果的实现方法
2016/12/26 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
javaScript嗅探执行神器-sniffer.js
2017/02/14 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
社区版pycharm创建django项目的方法(pycharm的newproject左侧没有项目选项)
2020/09/23 Python
Html5游戏开发之乒乓Ping Pong游戏示例(二)
2013/01/21 HTML / CSS
html5教程调用绘图api画简单的圆形代码分享
2013/12/04 HTML / CSS
HTML5拖拽文件上传的示例代码
2021/03/04 HTML / CSS
Staples美国官方网站:办公用品一站式采购
2016/07/28 全球购物
Big Green Smile德国网上商店:提供各种天然产品
2018/05/23 全球购物
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
卫校中专生个人自我评价
2013/09/19 职场文书
通信工程专业毕业生推荐信
2013/12/25 职场文书
表扬信格式
2014/01/12 职场文书
反邪教宣传工作方案
2014/05/07 职场文书
大学生工作自荐书
2014/06/16 职场文书
2016国庆促销广告语
2016/01/28 职场文书
让文件路径提取变得更简单的Python Path库
2021/05/27 Python
Python中else的三种使用场景
2021/06/16 Python