- 浏览: 186307 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
记录一下。嘿嘿
eclipse中关闭js报错的方法 -
di1984HIT:
谢谢,学习了
jdk输出带缩进格式xml的方法 -
雪狐狼:
为何,每次查询需要 构建datatable?
YUI DataTable 服务器端翻页与排序 -
lijunwyf41:
nd:"nd", // 表示已经发送请求的 ...
jqGrid <-- json --> spring,hibernate之服务器端分页,排序 -
yiyu:
最近不看YUI了,发现一个国产的前端框架,是金蝶出的,叫Ope ...
YUI 3 学习笔记(5)- Attribute类
这两天因工作需要做了一个网页分割条,期间碰到不少问题,好在最后都解决了,最后
版本在ie8和firefox3.5上都能流畅运行,现总结一下:
1. 拖动分割条的一个问题是要把鼠标的移动和释放事件不间断地捕获到并进行处理,当
鼠标快速移动时,要保证即使鼠标移出了分割条,进入页面其他元素的范围内,这些事
件也能被捕获到并进行相应的处理。在ie中,这需要使用setCapture()方法,拖动动作
完成后还要用releaseCapture()方法释放。但firefox不支持该方法,网上有的说可以
用window.captureEvents方法,但我在firefox中试过也不行,找了找资料据说这是
netscape的特性,firefox只实现了一个空的方法,并不起作用。firefox解决这一问题
的办法是按下分割条后,就将鼠标移动和释放的事件处理方法绑定到document上,然后
在鼠标释放的时候再进行移除。
2. 拖动分割条中碰到的第二个问题是,在firefox中,拖动很容易中断,可能是因为一
旦鼠标移出了分割条,相应的鼠标事件在某些情况下会被页面中的其他元素截留,这个
问题可以通过event的preventDefault()方法解决。
最后代码如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <style> .shadowDivA { overflow: scroll; width: 200px; height: 100%; position: absolute; top: 0px ; left : 0px; background-color: yellow; filter: alpha(opacity = 70); opacity: 0.7; } .shadowDivB { overflow: scroll; width: 500px; height: 100%; position: absolute; top: 0px ; left : 205px; background-color: blue; filter: alpha(opacity = 70); opacity: 0.7; } .shadowDivM { width: 5px; height: 100%; position: absolute; top: 0px ; left : 200px; background-color: grey; cursor:e-resize; filter: alpha(opacity = 70); opacity: 0.7; } </style> <script type="text/javascript"> var flag = false ; var objSplitter = false; function down(event, obj){ if(!flag){ if(obj.setCapture) obj.setCapture(); else { document.addEventListener('mouseup', up, true); document.addEventListener('mousemove', move, true); event.preventDefault(); } flag = true ; objSplitter = obj; } } function up(event){ if(flag){ if(objSplitter.releaseCapture) objSplitter.releaseCapture(); else { document.removeEventListener('mouseup', up, true); document.removeEventListener('mousemove', move, true); event.preventDefault(); } flag = false ; } } function move(event){ if(flag){ var obj1 = document.getElementById("a") ; var obj2 = document.getElementById("b") ; obj1.style.width = event.clientX + "px" ; obj2.style.left = (event.clientX + 5) + "px" ; obj2.style.width = (700 - event.clientX) + "px" ; objSplitter.style.left = event.clientX + "px" ; if(!objSplitter.releaseCapture) { event.preventDefault(); } } } </script> </head> <body> <div id="a" class="shadowDivA"> </div> <div class="shadowDivM" onmousedown="down(event, this);" onmouseup="up(event);" onmousemove="move(event);"> </div> <div id="b" class="shadowDivB"> </div> </body> </html>
评论
8 楼
yiyu
2010-01-19
哦,那些没改,加些判断就可以了
7 楼
dieslrae
2010-01-19
IE8下还是拉出边界之后还是有问题
6 楼
yiyu
2010-01-19
这个版本在ie6上也能跑
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk"> <style> .shadowDivA { overflow: scroll; width: 200px; height: 100%; position: absolute; top: 0px ; left : 0px; background-color: yellow; filter: alpha(opacity = 70); opacity: 0.7; } .shadowDivB { overflow: scroll; width: 500px; height: 100%; position: absolute; top: 0px ; left : 205px; background-color: blue; filter: alpha(opacity = 70); opacity: 0.7; } .shadowDivM { width: 5px; height: 100%; position: absolute; top: 0px ; left : 200px; background-color: #888888; cursor:e-resize; filter: alpha(opacity = 70); opacity: 0.7; } </style> <script type="text/javascript"> var flag = false ; var objSplitter = false; function down(event, obj){ if(!flag){ if(obj.setCapture) obj.setCapture(); else { document.addEventListener('mouseup', up, true); document.addEventListener('mousemove', move, true); event.preventDefault(); } flag = true ; objSplitter = obj; } } function up(event){ if(flag){ if(objSplitter.releaseCapture) objSplitter.releaseCapture(); else { document.removeEventListener('mouseup', up, true); document.removeEventListener('mousemove', move, true); event.preventDefault(); } flag = false ; } } function move(event){ if(flag){ var obj1 = document.getElementById("a") ; var obj2 = document.getElementById("b") ; obj1.style.width = event.clientX + "px" ; obj2.style.left = (event.clientX + 5) + "px" ; obj2.style.width = (700 - event.clientX) + "px" ; objSplitter.style.left = event.clientX + "px" ; if(!objSplitter.releaseCapture) { event.preventDefault(); } } } </script> </head> <body> <div id="a" class="shadowDivA"> </div> <div class="shadowDivM" onmousedown="down(event, this);" onmouseup="up(event);" onmousemove="move(event);"> </div> <div id="b" class="shadowDivB"> </div> </body> </html>
5 楼
yose
2010-01-19
楼主能修正一下再贴上来吗?
我也学习学习
我也学习学习
4 楼
yiyu
2010-01-18
确实
把.shadowDivM的
background-color: grey;
改成
background-color: #888888;
就可以了,难道是ie6不支持grey这个颜色定义?
把.shadowDivM的
background-color: grey;
改成
background-color: #888888;
就可以了,难道是ie6不支持grey这个颜色定义?
3 楼
liu_87663663
2010-01-18
报告BUG: ie6下分隔条不能拖拽
2 楼
yiyu
2010-01-13
呵呵,只是试一下分割条,没做边界值处理
谢了
谢了
1 楼
Rooock
2010-01-13
报告BUG:
当分割条到黄色或者蓝色的边界时, 会出现参数无效的错误.
当分割条到黄色或者蓝色的边界时, 会出现参数无效的错误.
发表评论
-
使用fuelux tree
2016-04-19 21:06 2691bootstrap这么火,就是fuelux又是同一家推 ... -
eclipse中关闭js报错的方法
2013-05-18 12:35 1548eclipse中引入yui报错,关闭validation后不 ... -
YUI:带checkbox的TreeView的赋值与读值
2010-09-10 16:08 2162日前做一个用户权限管 ... -
YUI DataTable不显示标题栏的方法
2010-09-07 14:32 1698今天碰到一个怪异的需求,用YUI做的表格不要各字段的标题,即下 ... -
YUI中的模块化使用对话框
2010-08-12 16:30 3876最近在试着用YUI 2.8.1,想到一个将对话框模块化的方法, ... -
YUI 3 学习笔记(5)- Attribute类
2010-03-08 16:07 2025Attribute类用于向一个类添加属性,它给类增加了set和 ... -
YUI 3 学习笔记(4)- Base基类
2010-03-05 17:29 1539Base是一个基础类,通过继承Base可以以一种统一的方式创建 ... -
YUI 3 学习笔记(3)- Event
2010-03-03 16:02 2188YUI的Event包可以用来操 ... -
YUI 3 学习笔记(2)- Node
2010-03-01 17:46 2522Node是用来操作DOM node的工具,实际上每一个Node ... -
YUI 3 学习笔记(1)-YUI Global对象
2010-03-01 15:38 2078YUI3模块已经发布,配套的工具及部件虽然现在还不全,但也计划 ... -
html5 canvas 小试:绘制2次曲线
2010-02-23 17:27 2253canvas是html5中新增加的元素,可以用来在html中通 ... -
设置innerHTML后翻滚的奇怪现象
2010-01-28 16:47 1139最近碰到一个奇怪的问题,记录一下。 处理过程是这样的,画面的 ... -
检测浏览器支持的javascript版本
2010-01-05 11:31 1507今天找到一段检测浏览器支持的javascript版本的代码,感 ... -
使用YUI layout时菜单被遮挡问题的解决
2009-10-16 14:00 1429使用YUI layout时菜单被遮挡问题的解决 今天在使用Y ... -
javascript中定义类的几种方法
2009-09-02 15:59 1116在javascript中有几种定义类的方式,以下分别列出并说明 ... -
从服务器获取Chart的数据
2009-08-11 11:04 3012ExtJs提供了绘制图表的功能,可以绘制折线图、条形图和饼图。 ... -
ExtJs树的动态加载
2009-08-06 10:37 4799有时候我们不希望一开始就取得整个树的数据然后初始化树,而是希望 ... -
使用Smooth Navigational Menu实现动态菜单
2009-02-10 14:34 1403在企业应用中一般需要根据登录用户的身份动态生成系统菜单,本文演 ... -
jquery学习笔记(5) AJAX
2009-02-05 10:43 11501. 添加HTML $('#dictionary').loa ... -
jquery学习笔记(4) DOM Manipulation
2009-02-04 14:43 1034本文是Learning JQuery的学习笔记 1. att ...
相关推荐
### 详解主流浏览器多进程架构:Chrome、IE 随着互联网技术的飞速发展,Web浏览器已成为...无论是Chrome、IE还是Firefox,都在不断优化其多进程架构,以应对日益复杂的网络环境,为用户提供更加安全、流畅的上网体验。
6. **浏览器兼容性**:提到插件兼容主流浏览器,这意味着开发者可能使用了polyfill或条件语句来确保在不同浏览器环境下(如Chrome、Firefox、Safari、Edge和旧版IE)的正常运行。 7. **readme.md**:这个文件通常是...
7. 跨浏览器兼容性:一个好的HTML5模板会考虑到不同浏览器之间的差异,确保在主流浏览器(如Chrome、Firefox、Safari、Edge和IE11)上都能正常工作。这通常需要对CSS和JavaScript进行适当的前缀处理和错误处理。 8....
这个程序会列出所有浏览器(如Chrome、Firefox、IE等)的视频缓存信息。 2. **查看缓存**:程序会显示一个表格,包含每个视频文件的URL、大小、开始时间、结束时间等信息。你可以根据这些信息筛选出你想要的视频。 ...
7. 兼容性测试:由于不同浏览器对新技术的支持程度不同,此模板可能经过了广泛的浏览器兼容性测试,确保在主流浏览器(如Chrome、Firefox、Safari、Edge和IE11)中都能正常工作。 8. 可维护性和可扩展性:一个高...
浏览器测试页面是一个重要的工具,用于确保网页在不同的浏览器和设备上都能正常显示和运行。它涵盖了多种技术,包括HTML、CSS、JavaScript以及浏览器兼容性测试。以下是对这一主题的详细阐述: 1. HTML(HyperText ...
9. **跨浏览器兼容性**:源码应能良好运行在主流浏览器上,如Chrome、Firefox、Safari、Edge和旧版IE。 10. **可维护性和扩展性**:良好的代码结构和注释,方便后续修改和添加功能。 以上就是关于这个压缩包可能...
这三种方法都能有效地检测IE6、IE7、IE8和IE9,但随着技术的发展,IE浏览器的市场份额已经大大减少,现代浏览器如Chrome、Firefox、Safari和Edge等已经具备更好的兼容性和性能。因此,在开发时,建议优先考虑使用更...
而对于浏览器的兼容性,它支持IE6至IE11,Chrome8及更高版本,Firefox3.5及以上版本和Safari5.0.2以上版本,但目前只支持32位的浏览器。 ### 版本更新和新增功能 文档中提及的版本更新涉及到新接口的增加和既有接口...
这个描述表明该后台框架已经经过测试,能在主流浏览器如Internet Explorer和Firefox的不同版本上正常运行,降低了开发者处理浏览器兼容性问题的难度。 “也是很好的代码例子”意味着这个框架不仅可以作为实际项目的...
5. **兼容性与性能**:控件集经过优化,能在多种浏览器(包括IE、Firefox、Chrome等)中良好运行,同时保持高性能,降低了服务器的负载。 6. **丰富的API与文档**:IEWebControls提供了详细的API参考文档,以及示例...
支持的浏览器版本包括IE8至IE11、Chrome31+、Firefox35+等32位浏览器,以及IE8至IE11、Chrome31至Chrome44、Firefox35至Firefox51等64位浏览器。 **支持设备** 海康威视Web控件V3.0支持多种设备,包括DVR、NVR、DVS...
ECharts兼容多种浏览器,包括Chrome、Firefox、Safari、Edge等,并且支持IE9及以上的版本。同时,ECharts也考虑到了移动设备的适配,能够在手机和平板等触屏设备上良好运行。此外,ECharts还集成了ZRender,一个轻量...
描述中提到“支持CHROME Firefox IE 360”,这表明该资源可能是一个浏览器插件或JavaScript库,能够兼容这些主流的Web浏览器,包括Chrome、Firefox以及360浏览器(基于IE内核)。这使得用户能够在网页端方便地实现...
因为frameset在不同浏览器中的表现可能有所不同,所以文章可能讨论了如何确保在多种浏览器环境下,如IE、Firefox、Chrome等,框架集的正确显示和功能。此外,还可能涉及HTTP响应头和MIME类型在处理框架内容时的作用...
它支持多种浏览器,如IE、Firefox、Chrome和Safari等,具有良好的跨平台兼容性。fckeditor-java-2.4.1版本是针对Java环境的一个集成包,包含了运行FCKeditor所需的Java组件。 **2. Java集成** 在Java应用中集成...
兼容的浏览器有IE6~IE11、Chrome8+、Firefox3.5+和Safari5.0.2+,不过当前版本仅支持32位浏览器。 3. 版本更新: 文档中提到了一些重要的版本更新点,比如改进了插件安装检测接口,增加了插件初始化接口的属性,...
1. **跨浏览器兼容性**:dhtmlxSuite支持所有主流浏览器,包括IE、Firefox、Chrome、Safari和Opera,确保在不同环境下稳定运行。 2. **响应式设计**:框架内建了适应不同设备和屏幕尺寸的能力,使得在手机、平板和...
- **SpiderMonkey**:Firefox浏览器中的JavaScript引擎。 - **其他引擎**:包括IE中的“Trident”、“Chakra”,Microsoft Edge中的“ChakraCore”,Safari中的“Nitro”和“SquirrelFish”等。 #### 四、...
常见的浏览器内核有Trident(IE)、Gecko(Firefox)、Blink(Chrome、Opera)和Webkit(Safari)。其中,Blink和Webkit都是基于KHTML和JavaScriptCore的开源项目,它们之间的关系以及它们如何影响页面渲染速度和...