- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我试图在缓慢的 UI 中修复一些性能缓慢的 javascript,我已经将主要原因缩小到 jQuery .width()
用于查看 width: 100%
的实际像素大小的调用响应式布局中的元素,在一个需要经常响应用户操作的过程中。
我添加了基于时间戳的测量,它们表明仅它就占了大约 33% 的延迟时间,这使得 UI 感觉清晰和 UI 感觉迟钝之间存在差异。删除这一行,用户界面感觉很快 - 但是,它把东西放在了错误的地方......
好像well established that .width()
is relatively slow in jQuery > 1.8主要有两个原因:
[ reflow happens when ] you retrieve a measurement that must be calculated, such as accessing offsetWidth, clientHeight, or any computed CSS value (via getComputedStyle() in DOM-compliant browsers or currentStyle in IE)
jQuery 1.8 now needs to check the box-sizing property whenever you use .width() so that it can decide whether it needs to subtract out the padding and border width. That can be expensive—up to 100 times more expensive on Chrome!
width()
电话是查看响应式设计是否以及缩小了多少。它需要查看一个小部件的包装元素,它有
width: 100%;
(但可能在列或其他容器中,具体取决于托管它的站点/页面),并且需要查看它实际显示的包装器最大宽度的百分比。
= $wrapper.width() / maxWidth;
)来缩小位置,例如,如果页面在狭窄的窗口/设备中查看并且包装器是其最大尺寸的 50%,标签的顶部和左侧偏移是其默认值的 50%。
.width()
的事情。通话慢?
.outerWidth()
与 .width()
完全一样慢.get(0).clientWidth
(纯 Javascript/非 Jquery 选项)也几乎和 .width()
一样慢(据推测,因此回流是罪魁祸首).get(0).clientWidth
后跟 .outerHeight()
),则调用速度非常快(约快 20 倍)。大概因为回流刚刚完成并且元素属性刚刚被访问,它们以某种方式被缓存。但效果不适用于重复调用该函数,仅在一次函数调用中有效。 .css("width")
显然没有用,因为它只会给我 100%
在所有情况下 maxWidth
以像素为单位的变量和以像素为单位的偏移量,我有足够的数据来计算我的标签的百分比偏移量
leftOffset_px / maxWidth_px
和
topOffset_px / maxHeight_px
,然后
+ '%'
并将其应用为每个标签的 CSS
top
和
left
抵消。这速度快得离谱——现在不到 1 毫秒,如此之快,我的基于时间戳的函数无法测量它!
最佳答案
不确定这会有多大的改进,但您可以尝试向小部件的根添加一个绝对定位的元素,不包含子元素,其唯一目的是读取其宽度。我认为绝对定位的元素只会重排它的 child :
.root {
position: relative;
}
.ruler {
position: absolute;
width: 100%;
}
<div class="root>
...
<div class="ruler"></div>
</div>
var updatedWidth = $('.ruler').width()
关于javascript - 是否可以通过 Javascript 访问 %-width 元素的当前缩放因子而不会导致回流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39393141/
我在 div 和 jquery ui slider 中有一个图像列表,当用户滑动栏时,图像应该调整大小/缩放(无论你想怎么调用它),我尝试选择所有图像并更改 css 的宽度和使用 jquery 的高度
我正在制作一张具有缩放和平移功能的世界地图。我在某些城市上画了圆圈,圆圈的半径由数据决定。当鼠标悬停在这些圆圈上时,将出现一个工具提示来显示数据。 代码结构为 //在此选择上调用缩放行为 - 让我们调
我正在使用 jquery UI slider (http://jqueryui.com/slider/)。 我需要对整个站点进行缩放。使用 css 样式在 IE+Chrome im 中缩放 - “缩放
我花了很多时间试图找到一种使用 CGAffineScale 将 View 转换为给定点的方法,包括摆弄 anchor 、在转换前后移动 View 的中心以及全面的谷歌搜索。我知道使用 UIScroll
我希望能够用手指旋转和缩放/缩放我的位图,我已经为此寻找了所有示例项目,但它们都与我的代码不匹配。这是我的 onTouchListener 代码。 public class MyView extend
在我的页面中间,我有一个 div 元素,其中包含一些内容(其他 div、图像等)。 before something inside another something
我一直在尝试使用 google maps API V3 的绘图管理器(绘制矩形)。使用 -webkit-transform 缩放谷歌地图 Canvas (包含 div)后像这样 var transf
这个问题在这里已经有了答案: How to resize the iPhone/iPad Simulator? (12 个答案) 关闭 5 年前。 我正在编写 iOS 应用 我使用 Xcode 6.
这几天一直在研究微服务,我想知道人们是如何着手自动化负载平衡和扩展这些东西的? 我心中有一个特定的场景,我想实现什么,但不确定是否可行,或者我的想法有误。就这样吧…… 假设我有一个由 3 台名为 A、
我正在使用 ffmpeg for android 来制作 mp4 格式的视频。我无法让这个命令在 FFMPEG 中工作,基本上我正在尝试添加两个图像,缩放它们,添加缩放效果,最后将结果连接到一个视频文
使用 OpenGL 我正在尝试绘制我校园的原始 map 。 谁能向我解释一下平移、缩放和旋转通常是如何实现的? 例如,通过平移和缩放,这仅仅是我调整我的视口(viewport)吗?所以我绘制并绘制了构
我需要在 iphone sdk 界面生成器中将按钮旋转 30 度,该怎么做? 最佳答案 您无法在 Interface Builder 中执行此操作,但代码非常简单。 确保您已将 IB 中的按钮连接到
假设默认级别等于“1”,是否可以检测触摸设备的捏合(缩放)级别?原因是我希望根据捏合级别禁用页面元素(显示:无)。 如果可以将其放在一个设置缩放级别值的函数中,那就太好了,例如: var ZOOM =
我正在努力找出并确定如何根据这个例子放大我的鼠标位置。 (https://stackblitz.com/edit/js-fxnmkm?file=index.js) let node, scal
我已将 UIWebView 的“scalesPageToFit”属性设置为 YES。 它正在缩放,但是当页面加载时,内容的字体很小,不捏就无法阅读。我们可以将缩放比例设置为默认值吗? 最佳答案 这更多
我仍在学习 jQuery mobile 的技巧,并且在 data-role="page"上放大和缩小图片/图像时遇到问题。有没有办法使用 jquery mobile 在 iPhone 上的图像上进行捏
给定一组 n 个维度为 d 的向量,存储在 (n,d) 数组中,以及第二组 m 相同维度的向量(存储在 (m,d) 数组中)我想计算向量之间的平方点距离,由大小为 的某个矩阵 A 缩放>(d,d)。
我想知道是否有人可以指出我正确的方向。 我使用 CSS3 过渡创建了缩放效果。将鼠标悬停在该对象上,它会转换为更大的版本。这看起来很棒并且效果很棒,但问题是这种效果在 IE 中不起作用,所以我需要在
mapbox-gl-js 版本:0.38.0在 ionic 2.2.11 上通过 npm repo 使用 正如您在这张 gif 上看到的 https://giphy.com/gifs/ionic-an
所以我花了几个小时在网上搜索帮助,但所有论坛和文档都没有向我正确解释我应该采取的最佳方式。 目前我有一个具有 XML 相对布局的 Activity (背景设置为 map 图片),我想实现多手势缩放功能
我是一名优秀的程序员,十分优秀!