基于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 相关文章推荐
经典的解除许多网站无法复制文字的绝招
Dec 31 Javascript
Highslide.js是一款基于js实现的网页中图片展示插件
Mar 30 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
Apr 26 Javascript
eval的两组性能测试数据
Aug 17 Javascript
javascript对select标签的控制(option选项/select)
Jan 31 Javascript
jquery计算鼠标和指定元素之间距离的方法
Jun 26 Javascript
node.js路径处理方法以及绝对路径详解
Mar 04 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
微信小程序实现的日期午别医生排班表功能示例
Jan 09 Javascript
vue quill editor 使用富文本添加上传音频功能
Jan 14 Javascript
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 jQuery
JavaScript canvas实现跟随鼠标移动小球
Feb 09 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函数获取当前运行的环境 来进行判断执行逻辑(小技巧)
2013/06/25 PHP
PHP+iFrame实现页面无需刷新的异步文件上传
2014/09/16 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
Yii2框架数据库简单的增删改查语法小结
2016/08/31 PHP
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
JS拖动技术 关于setCapture使用
2010/12/09 Javascript
js document.write()使用介绍
2014/02/21 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
jquery中使用循环下拉菜单示例代码
2014/09/24 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
超精准的javascript验证身份证号的具体实现方法
2015/11/18 Javascript
Jquery ajax基础教程
2015/11/20 Javascript
JS中setTimeout的巧妙用法前端函数节流
2016/03/24 Javascript
json传值以及ajax接收详解
2016/05/24 Javascript
深入理解js generator数据类型
2016/08/16 Javascript
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
jquery 仿锚点跳转到页面指定位置的实例
2017/02/14 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
Vue源码之关于vm.$delete()/Vue.use()内部原理详解
2019/05/01 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
小程序自定义弹框效果
2020/11/16 Javascript
浅谈python字符串方法的简单使用
2016/07/18 Python
python 3.5下xadmin的使用及修复源码bug
2017/05/10 Python
python使用两种发邮件的方式smtp和outlook示例
2017/06/02 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
上课说话检讨书大全
2014/01/22 职场文书
影子教师研修方案
2014/06/14 职场文书
新农村建设汇报材料
2014/08/15 职场文书
拯救大兵瑞恩观后感
2015/06/09 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js