Snap.com那样的JS效果已经作出,兼容IE6.0 up 和 FF2.0,供队伍里的学习参考

简介:

预览地址:http://www.365rss.cn/WebPreview.aspx

底层代码都没什么说的,就是以前萧寒和我合作公布的。

效率有很大的问题。

客户端脚本,值得一说的是,要兼容FireFox2.0,需要作一些额外的判断,同时IE和FF对DOM对象动态添加事件也有区别,对当前鼠标的位置判断也有区别,关键代码如下(具体内容请点右键查看js源码)

ExpandedBlockStart.gif if (window.document.all) {//IE
InBlock.gif
    oList[i].attachEvent("onmouseover", WebPreview_go); 
InBlock.gif    oList[i].attachEvent(
"onmouseout", WebPreview_co); 
ExpandedBlockStart.gif}
else {//IE之外,主要指FF
InBlock.gif
    oList[i].addEventListener("mouseover", WebPreview_go, false); 
InBlock.gif    oList[i].addEventListener(
"mouseout", WebPreview_co, false); 
ExpandedBlockEnd.gif}

ExpandedBlockStart.gif function  WebPreview_go(e)  {
InBlock.gif    e 
=  e || window.event;//兼容IE和FF
InBlock.gif
    var link = window.document.all != null ? e.srcElement : e.target;//e.target为FF下的写法
InBlock.gif
    ……
ExpandedBlockEnd.gif}
       
ExpandedBlockStart.gif
function  WebPreview_co(e) {
InBlock.gif    
//移出事件,省略
ExpandedBlockEnd.gif
}

捕获鼠标位置的自定义js类,兼容IE和FF,调用的时候
 
None.gif      var  mousePos  =  WebPreview_mouseCoords(e);
None.gif    
var  t  =  $get('tips');
None.gif    t.style.display
= " block " ;
None.gif    t.style.left
= mousePos.x  + 10 +   " px " ;
None.gif    t.style.top 
= mousePos.y  + 10 +   " px " ;


ExpandedBlockStart.gif function  WebPreview_mouseCoords(e) {
ExpandedSubBlockStart.gif    
if(e.pageX || e.pageY){//FF下写法
ExpandedSubBlockStart.gif
        return {x:e.pageX, y:e.pageY};
ExpandedSubBlockEnd.gif    }

ExpandedSubBlockStart.gif    
return {
InBlock.gif        x:e.clientX 
+ document.body.scrollLeft - document.body.clientLeft,
InBlock.gif        y:e.clientY 
+ document.body.scrollTop  - document.body.clientTop
ExpandedSubBlockEnd.gif    }
;
ExpandedBlockEnd.gif}

写在后面的话,目前团队里面也有几个人了(开心啊,队伍总算起来了),对网页快照项目的原理也很熟悉,希望分配一下任务,或者讨论一下怎么利用业余时间,几个人一起发力,发挥各自的长处,把这个项目作优秀,做perfect了。怎样?:)


本文转自Kai的世界,道法自然博客园博客,原文链接:http://www.cnblogs.com/kaima/archive/2006/12/31/609192.html,如需转载请自行联系原作者。

目录
相关文章
|
3天前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
21 3
|
1月前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
14天前
|
Web App开发 JavaScript 前端开发
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
添加浮动按钮点击滚动到网页底部的纯JavaScript演示代码 IE9、11,Maxthon 1.6.7,Firefox30、31,360极速浏览器7.5.3.308下测试正常
|
12天前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
13天前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
11天前
|
JavaScript 前端开发 Oracle
软件工程师,学习下JavaScript ES6新特性吧
软件工程师,学习下JavaScript ES6新特性吧
33 9
|
13天前
|
JavaScript 前端开发 算法
紧跟月影大佬的步伐,一起来学习如何写好JS(下)
该文章延续了上篇的内容,进一步探讨了编写优秀JavaScript代码的实践,强调了代码风格一致性、性能优化、团队约定的重要性,并通过实际案例分析了如何在不同场景下写出合适的代码。
|
2月前
|
JSON 前端开发 JavaScript
|
28天前
|
存储 JSON JavaScript
学习node.js十三,文件的上传于下载
学习node.js十三,文件的上传于下载
|
2月前
|
JavaScript 前端开发 iOS开发
学习强大的JavaScript一行代码,能够节省你的时间和代码量
这段内容介绍了25个实用的JavaScript一行代码技巧,涵盖复制内容到剪贴板、打乱数组、颜色值转换、计算平均值、检查数字奇偶性、数组去重、对象为空检测、字符串反转、日期计算、首字母大写、生成随机字符串、四舍五入、清除Cookie、检测暗黑模式等,帮助开发者提高效率并简化代码。
27 2