基于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 相关文章推荐
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
Mar 02 Javascript
6个DIV 135或246间隔一秒轮番显示效果
Jul 24 Javascript
热点新闻滚动特效的js代码
Aug 17 Javascript
浅谈javascript中的DOM方法
Jul 16 Javascript
JS操作COOKIE实现备忘记录的方法
Apr 01 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
Dec 08 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
JQuery 又谈ajax局部刷新
Nov 27 jQuery
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
微信小程序上传图片功能(附后端代码)
Jun 19 Javascript
webstorm建立vue-cli脚手架的傻瓜式教程
Sep 22 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&amp;mysql(六)
2006/10/09 PHP
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
2011/08/18 PHP
php实现的漂亮分页方法
2014/04/17 PHP
php约瑟夫问题解决关于处死犯人的算法
2015/03/23 PHP
Jquery升级新版本后选择器的语法问题
2010/06/02 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
一个jquery实现的不错的多行文字图片滚动效果
2014/09/28 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
详解javascript的变量与标识符
2016/01/04 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
vue项目前端知识点整理【收藏】
2019/05/13 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
Python中的map、reduce和filter浅析
2014/04/26 Python
Python中为什么要用self探讨
2015/04/14 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
基于Python 中函数的 收集参数 机制
2019/12/21 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
一款纯css3实现的鼠标经过按钮特效教程
2014/11/09 HTML / CSS
html5 的a标签 Href 拨电话的写法
2013/11/04 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
体育教师工作总结的自我评价
2013/10/10 职场文书
小学教师的个人自我鉴定
2013/10/24 职场文书
大学军训感言200字
2014/02/26 职场文书
银行授权委托书范本
2014/10/04 职场文书
家长会欢迎词
2015/01/23 职场文书
小学生表扬稿范文
2015/05/05 职场文书