基于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 相关文章推荐
window.onbeforeunload方法在IE下无法正常工作的解决办法
Jan 23 Javascript
jQuery 源码分析笔记(2) 变量列表
May 28 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
jQuery实现带幻灯的tab滑动切换风格菜单代码
Aug 27 Javascript
JS+CSS实现的蓝色table选项卡效果
Oct 08 Javascript
js实现微信分享代码
Oct 11 Javascript
jQuery1.9+中删除了live以后的替代方法
Jun 17 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
详解require.js配置路径的用法和css的引入
Sep 06 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
如何在JavaScript中使用localStorage详情
Feb 04 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函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
LBS blog sql注射漏洞[All version]-官方已有补丁
2007/08/26 Javascript
DWR Ext 加载数据
2009/03/22 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
JS解析XML实例分析
2015/01/30 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
js库Modernizr的介绍和使用
2015/05/07 Javascript
基于bootstrap3和jquery的分页插件
2015/07/31 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
JavaScript纯色二维码变成彩色二维码
2020/07/23 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
vue print.js打印支持Echarts图表操作
2020/11/13 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
python数据结构之二叉树的建立实例
2014/04/29 Python
python运行时间的几种方法
2016/06/17 Python
python调用staf自动化框架的方法
2018/12/26 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
Python实现自动整理文件的脚本
2020/12/17 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
财务工作者先进事迹材料
2014/01/17 职场文书
美容院营销方案
2014/03/05 职场文书
有创意的广告词
2014/03/18 职场文书
毕业典礼主持词大全
2014/03/26 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
安全员岗位职责
2015/02/10 职场文书
酒店采购员岗位职责
2015/04/03 职场文书
七年级作文之秋游
2019/10/21 职场文书