基于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 select操作的日期联动实现代码
Dec 06 Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 Javascript
jquery实现图片滚动效果的简单实例
Nov 23 Javascript
JS实现简易图片轮播效果的方法
Mar 25 Javascript
探究Vue.js 2.0新增的虚拟DOM
Oct 20 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 Javascript
js的对象与函数详解
Jan 21 Javascript
webgl实现物体描边效果的方法介绍
Nov 27 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 Javascript
详细聊聊vue中组件的props属性
Nov 02 Vue.js
基于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
自己动手做一个SQL解释器
2006/10/09 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
jquery处理json数据实例分析
2014/06/03 Javascript
jquery获取html元素的绝对位置和相对位置的方法
2014/06/20 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
vue router路由嵌套不显示问题的解决方法
2017/06/17 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
使用Python脚本和ADB命令实现卸载App
2017/02/10 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
详解TensorFlow查看ckpt中变量的几种方法
2018/06/19 Python
python实现朴素贝叶斯算法
2018/11/19 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
如何通过python实现人脸识别验证
2020/01/17 Python
python matplotlib画盒图、子图解决坐标轴标签重叠的问题
2020/01/19 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
HTML5图片层叠的实现示例
2020/07/07 HTML / CSS
英国潮流网站:END.(全球免邮)
2017/01/16 全球购物
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
自考毕业自我鉴定范文
2013/10/27 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
初中作文评语
2014/12/25 职场文书
会计实训总结范文
2015/08/03 职场文书
信息技术研修心得体会
2016/01/08 职场文书
linux目录管理方法介绍
2022/06/01 Servers