- 浏览: 449834 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
ubuntu的疯狂:
推荐一份完整的教程:http://blog.ddlisting ...
Emberjs学习 -
ptz19:
请问,如果把合并前的文件,不要dest 目标目录来。如: js ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
楼主,还有个问题,<a href="" ...
gulp下静态资源的合并、压缩、MD5后缀 -
zhouzq1008:
感谢楼主,用到了您的代码, 但现在好像有改动 否则会报错:修改 ...
gulp下静态资源的合并、压缩、MD5后缀 -
denverj:
感谢分享~
Emberjs学习
<head> <script type="text/javascript"> function GetOffset (object, offset) { if (!object) return; offset.x += object.offsetLeft; offset.y += object.offsetTop; GetOffset (object.offsetParent, offset); } function GetScrolled (object, scrolled) { if (!object) return; scrolled.x += object.scrollLeft; scrolled.y += object.scrollTop; if (object.tagName.toLowerCase () != "html") { GetScrolled (object.parentNode, scrolled); } } // always return 1, except at non-default zoom levels in IE before version 8 function GetZoomFactor () { var factor = 1; if (document.body.getBoundingClientRect) { // rect is only in physical pixel size in IE before version 8 var rect = document.body.getBoundingClientRect (); var physicalW = rect.right - rect.left; var logicalW = document.body.offsetWidth; // the zoom level is always an integer percent value factor = Math.round ((physicalW / logicalW) * 100) / 100; } return factor; } function GetBox () { var div = document.getElementById ("myDiv"); if (div.getBoundingClientRect) { // Internet Explorer, Firefox 3+, Google Chrome, Opera 9.5+, Safari 4+ var rect = div.getBoundingClientRect (); x = rect.left; y = rect.top; w = rect.right - rect.left; h = rect.bottom - rect.top; if (navigator.appName.toLowerCase () == "microsoft internet explorer") { // the bounding rectangle include the top and left borders of the client area x -= document.documentElement.clientLeft; y -= document.documentElement.clientTop; var zoomFactor = GetZoomFactor (); if (zoomFactor != 1) { // IE 7 at non-default zoom level x = Math.round (x / zoomFactor); y = Math.round (y / zoomFactor); w = Math.round (w / zoomFactor); h = Math.round (h / zoomFactor); } } } else { // older Firefox, Opera and Safari versions var offset = {x : 0, y : 0}; GetOffset (div, offset); var scrolled = {x : 0, y : 0}; GetScrolled (div.parentNode, scrolled); x = offset.x - scrolled.x; y = offset.y - scrolled.y; w = div.offsetWidth; h = div.offsetHeight; } alert ("Left: " + x + "\nTop: " + y + "\nWidth: " + w + "\nHeight: " + h); } </script> </head> <body> <div style="height:200px; width:300px; overflow:auto;"> <div id="myDiv" style="width:250px; height:150px; border:1px solid red;"> You can get the bounding rectangle of this element relative to the top left corner of the client area with the button below.<br /> Use the scrollbars to test the placement of the bounding rectangle in different positions. </div> <div style="width:1000px; height:1000px;"></div> </div> <br /> <button onclick="GetBox ();">Get the placement of the element with red border!</button> </body>
发表评论
-
webpack简单打包PC网站前端资源
2016-02-23 14:30 1702:arrow: 1. 纯前端的打包输出,比较有局限 2 ... -
grunt构建基于seajs的网站实现
2015-06-16 16:49 1131Gruntfile.js module.exports ... -
js平滑滚动回到顶部
2015-06-10 11:42 4019优先使用 requestAnimationFrame实现。 实 ... -
fis-amd 的使用与修改
2015-05-26 16:14 3959https://github.com/fex-team/fis ... -
scrollMagic 视差与滚动动画GSAP
2015-05-19 18:14 4454scrollMagic(https://github.com/ ... -
skrollr-视差滚动动画插件
2015-05-19 14:18 1746skrollr ( https://github.com/Pr ... -
stellar插件的使用
2015-05-18 17:30 1806<!DOCTYPE html> < ... -
icon font VS svg font
2015-05-14 15:21 1217关于字体图标和SVG图标,CSS TRICK网站有较好的说明。 ... -
gulp下静态资源的合并、压缩、MD5后缀
2015-05-05 15:48 22640var gulp = require('gulp'); ... -
DOMContentLoaded VS onload VS onreadystatechange
2015-04-30 14:50 70171. DOMContentLoaded 在页面html、scr ... -
简单的css3全屏滚动
2015-04-27 16:41 1455<!DOCTYPE html> <ht ... -
jquery插件treetable 的使用
2015-04-20 16:12 12011插件的文档写得不是很好,为了能弄出异步加载的功能,小折腾了一番 ... -
sublime 侧边栏字体大小修改
2015-04-16 10:46 3838【转载自:http://jekhy.com ... -
移动端的“点透”问题
2015-04-15 14:13 1663移动端的“点透”问题,这篇博文有较好的说明: http://w ... -
scheme缺少,ie的bug
2015-04-01 17:34 535在页面上定位一个资源(JS/CSS/image),通常的url ... -
大整数相加
2015-03-26 22:18 941function repeatStr(ch, n){ ... -
window.name 跨域
2015-03-18 17:29 904window.name跨域的基础是:iframe页面在其url ... -
window.name 跨域
2015-03-18 17:27 1window.name跨域的基础是:iframe页面在其ur ... -
HTML History API
2015-03-13 18:05 1140// 替换当前浏览器history的最后一项记录。 hi ... -
Emberjs学习
2015-01-27 17:13 4163断断续续看了3周,还是一头雾水,文档不是很友好,这个框架,太多 ...
相关推荐
浏览器getBoundingClientRect解析 浏览器中的getBoundingClientRect方法是获取元素的矩形边界...只有通过了解浏览器getBoundingClientRect方法的实现差异和应用场景,才能更好地使用该方法,实现跨浏览器兼容的代码。
在实际的开发过程中,实现跨浏览器的8方向拖拽剪裁框需要考虑以下几个关键点: 1. **事件监听**:需要监听鼠标移动、按下和释放等事件,以便在用户操作时更新剪裁框的位置。 2. **坐标系统**:理解DOM元素的坐标...
本文将详细介绍`getBoundingClientRect()`方法的基本用法、返回值、跨浏览器兼容性问题及其实现细节,并通过具体的实例来帮助读者更好地理解和应用该方法。 #### 二、`getBoundingClientRect()`方法概述 `...
在现代Web开发中,获取页面中元素的精确位置是非常常见的需求,尤其在...文档提供的兼容方案是实现跨浏览器兼容的有效手段之一,它确保了即使在不支持`width`和`height`属性的旧浏览器中,也能够得到准确的尺寸数据。
在实现这些功能时,开发者需要考虑跨浏览器的兼容性问题,因此掌握TextRange和DOM Range对象的使用至关重要。 对于Range对象的其他常用方法和属性,包括但不限于: - `collapse()`:将范围收缩到一个点,常用于开始...
3. **兼容性**:虽然现在大多数现代浏览器都支持`getBoundingClientRect()`,但在编写跨浏览器的代码时,仍然需要注意可能存在的不兼容问题。确保在老版本的浏览器中进行适当的处理或使用polyfill库来模拟这个方法的...
综上所述,实现“js 鼠标画线 兼容主流浏览器”功能需要对JavaScript事件处理、HTML5 Canvas API以及跨浏览器兼容性有深入理解。项目中的代码可能包含了以上提到的所有细节,通过分析这些代码,我们可以学习到如何在...
这个方法更简洁,跨浏览器兼容性更好,是获取元素尺寸和位置的首选方式。 在Firefox中,特别是当网页含有Flash内容时,浏览器会发出警告,不建议使用 `getBoxObjectFor()`,因为这个方法在处理Flash对象时可能会...
4. **CSS响应式设计**:为了实现跨浏览器兼容,特别是IE6+,可能需要使用一些CSS Hack或者条件注释,以解决不同浏览器之间的样式差异问题。 5. **图片加载处理**:由于图片加载可能存在延迟,所以瀑布流布局需要在...
确保代码具有良好的跨浏览器兼容性是非常重要的。 6. **性能优化**:频繁的`scroll`事件可能导致性能问题,因为事件处理器可能会被频繁调用。为了提高性能,可以使用`requestAnimationFrame`或者`throttle/debounce...
总结起来,要实现跨浏览器的鼠标位置获取,主要涉及以下几点: 1. 使用`event.clientX`和`event.clientY`获取页面坐标。 2. 针对IE,需要考虑`window.pageXOffset`和`window.pageYOffset`的偏移量。 3. `...
标题提到的“没有兼容问题的做圆角的JS代码”可能是指一种使用JavaScript实现的跨浏览器的圆角解决方案。 JavaScript实现圆角的方法通常包括使用CSS3前缀、内联SVG、画布(Canvas)或图片精灵等技术。在没有CSS3...
})`来实现跨浏览器的动画滚动效果。这样,无论用户使用Firefox还是Chrome,都能享受到一致的用户体验。 总的来说,处理`scrollTop`的兼容性问题需要开发者对不同浏览器的特性和API有深入理解。使用`...
例如,IE6和Firefox对`clientWidth`、`clientHeight`、`offsetWidth`和`offsetHeight`的处理方式有所不同,因此在编写跨浏览器的代码时需要注意这些差异,并可能需要使用条件语句或者库(如jQuery)来确保一致性。...
为了使这个功能支持大多数浏览器,开发者可能使用了polyfills(兼容性补丁)或者跨浏览器的JS库,比如Modernizr来检测浏览器特性。同时,考虑到“一键梭哈”的描述,可能还有一个按钮或快捷键设置,让用户一键切换到...
为了实现跨浏览器兼容性,可能需要使用`getBoundingClientRect()`来获取元素相对于视口的位置,而不是直接使用`offsetLeft`和`offsetTop`。此外,还可以考虑添加边界检测,防止元素移出容器。 在`Skins`文件夹中,...
为了实现跨浏览器兼容性,可能还需要使用`addEventListener`或`attachEvent`方法来添加事件监听器,以及处理鼠标坐标与元素位置之间的差异。 在实际项目中,`win`这个文件可能包含了实现上述功能的HTML、CSS和...
通过分析和学习这个文件,我们可以更深入地理解如何用jQuery实现跨浏览器的`div`拖动高度功能。同时,这也是一个提升前端开发技能的好机会,尤其是对于理解DOM操作、事件处理和浏览器兼容性问题有很好的实践价值。