基于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 03 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
Apr 06 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
Apr 12 Javascript
详解Angular4中路由Router类的跳转navigate
Jun 09 Javascript
Easyui和zTree两种方式分别实现树形下拉框
Aug 04 Javascript
javascript中的隐式调用
Feb 10 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
Mar 13 Javascript
使用vue-cli脚手架工具搭建vue-webpack项目
Jan 14 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
Jun 26 Javascript
js用正则表达式筛选年月日的实例方法
Jan 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
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
PHP时间和日期函数详解
2015/05/08 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
JS 面向对象的5钟写法
2009/07/31 Javascript
javascript克隆对象深度介绍
2012/11/20 Javascript
select、radio表单回显功能实现避免使用jquery载入赋值
2013/06/08 Javascript
jquery通过a标签删除table中的一行的代码
2013/12/02 Javascript
JQuery给select添加/删除节点的实现代码
2016/04/26 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
在vue中封装可复用的组件方法
2018/03/01 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
python类继承用法实例分析
2015/05/27 Python
python生成随机图形验证码详解
2017/11/08 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
Python图像处理之识别图像中的文字(实例讲解)
2018/05/10 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
在python image 中实现安装中文字体
2020/05/16 Python
利用Python实现Json序列化库的方法步骤
2020/09/09 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
HTML5 拖放功能实现代码
2016/07/14 HTML / CSS
瑞典手机壳品牌:Richmond & Finch
2018/04/28 全球购物
Skyscanner台湾:全球知名的旅行比价引擎
2018/07/01 全球购物
九寨沟导游词
2015/02/02 职场文书
保护动物的宣传语
2015/07/13 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
Golang中channel的原理解读(推荐)
2021/10/16 Golang
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫
vue中data里面的数据相互使用方式
2022/06/05 Vue.js