javascript-externalWidth(true)连续两次返回不同的值,而无需重新加载页面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-externalWidth(true)连续两次返回不同的值,而无需重新加载页面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1106字,纯文字阅读大概需要2分钟。
内容图文
![javascript-externalWidth(true)连续两次返回不同的值,而无需重新加载页面](/upload/InfoBanner/zyjiaocheng/656/f7a0a7351bc0453ea9fc41fe8b57b93f.jpg)
我很困惑.
单击登录按钮.
等待弹出窗口出现.
注意它的位置.
再次单击登录按钮.
观看它向左移动. (正确的位置)
再次单击登录按钮.
请注意,它不再移动了.
我茫然不知所措,我不确定如何描述这种奇怪的行为.我注意到note.outerWidth(true)上有一个警报,它在前两次登录单击时报告了一个不同的宽度,但是该对象始终不可见,因此应在调用externalWidth之前设置其宽度…
解决方法:
当jQuery第一次评估note.outerWidth()时,它将获得其父级宽度(loginForm = 250px),因为在CSS中未定义note的宽度(仅定义了max-width).
浏览器在.append()之后呈现新笔记内容,但其新宽度在.offset()之后计算:
查看控制台日志:http://jsfiddle.net/HighKickX/QSsV6/
max-width + 2 * (padding + border-width)
= 300像素2 *(5像素1像素)= 312像素
再次单击时,偏移将基于312px而不是250px计算.这就是为什么音符将移至另一个位置的原因.
解决方案1:删除’position:absolute’http://jsfiddle.net/HighKickX/wjeGF/
说明:
如果您设置position:absolute,则注释将从流程中删除,并且不再从loginForm继承250px的宽度.因此,其宽度不限于250px,而最大宽度为300px填充边框= 312px.
如果您未设置位置:绝对,则音符的宽度将被继承,并且始终等于250px.
解决方案2:设置默认宽度http://jsfiddle.net/HighKickX/Ex3Bp/
内容总结
以上是互联网集市为您收集整理的javascript-externalWidth(true)连续两次返回不同的值,而无需重新加载页面全部内容,希望文章能够帮你解决javascript-externalWidth(true)连续两次返回不同的值,而无需重新加载页面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。