JQuery 没有得到正确的宽度
JQuery not getting correct width
本文关键字:JQuery 更新时间:2023-09-26
我用这个脚本来获取宽度,然后将其应用于同一个元素:
$(document).ready(function(){
$(".equal-height").each(function(){
var slideSize = $(this).outerWidth();
console.log(slideSize);
$(this).css({ "height" : slideSize + "px" });
});
});
但是,由于某种原因,有些元素有时无法获得匹配的宽度和高度。正如你在这个小提琴中看到的:https://jsfiddle.net/cpfgtuzo/5/最后一个元素具有正确的尺寸,但其余元素都高于它们的宽度。我试图让它们都是方形的,我也需要支持旧浏览器。
这似乎只是当窗口的大小较小并且四个项目堆叠成 2 列时才是一个问题。
在你对其他答案的评论之后,
我在页面上有许多使用此脚本的元素,并非所有元素的大小都相同(也有较小的正方形集)
和
但是由此产生的盒子并没有变成正方形。如果你检查你的小提琴,盒子太高~10px了
这个解决方案似乎克服了这些问题,让我知道这是否有帮助,工作小提琴
$(document).ready(function () {
$(".equal-height").each(function () {
var slideSize = $(this).outerWidth();
console.log(slideSize);
$(this).css({ "height": slideSize + "px", "width": slideSize + "px" });
//setting the width along with height
});
});
嗯,我认为jQuery在计算每个元素的宽度时有一个错误。
将此 jsfiddle 作为一种解决方法。
// Height = Width
$(document).ready(function() {
var width = $('.wide-content').width();
// prevent jQuery from calculating the width of children
$('.wide-content').hide();
// $(".equal-height").width() is now 50
var slideSize = $(".equal-height").width() * width / 100;
$(".equal-height").each(function() {
$(this).css({
"height": slideSize + "px"
});
});
$('.wide-content').show();
});
所有元素的高度相同
我只使用第一个框来计算其他元素的高度 - 至少这将确保相同的高度。它也会摆脱那个循环。
$(".equal-height").css({"height" : $(".equal-height").eq(0).outerWidth()});
一条线统治一切
但是,由于这不符合范围..
制作不同大小元素的正方形
经过一番混乱之后,很明显,只有在您开始篡改高度之后,宽度才会返回错误。这可以通过注释掉设置高度的 css-命令并观察输出来轻松测试。
解决方案似乎是设置预定义的高度:
.link-quarters {
width: 25%;
height: 100px;
float: left;
...
这将在所有元素(重要部分)上返回完全相同的宽度,然后您可以以编程方式设置相应的高度而不会出现问题。
不过,舍入仍然存在一个问题,因为百分比宽度可能会导致浏览器(或 js)四舍五入的十进制数字。
https://jsfiddle.net/cpfgtuzo/17/
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 如何使用jQuery自动打开页面上的所有链接
- 如何使用jquery在填充自动完成的值后使文本框只读
- jQuery:循环一个具有不同超时值的循环
- 用程序搜索JQuery数据表中的文本
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jQuery匹配JSON对象的部分文本
- Jquery POST未填充数组
- JQuery使计数器每次更改时都会增加
- 如何在Angular2中使用jQuery插件
- 提高JQuery的性能
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JQuery合并了keyup和focusout两个函数
- 如何使用jQuery选择下拉列表的值
- 将PHP变量传递给jQuery时遇到问题
- jQuery UI自动完成突然停止工作
- 剑道网格jQuery动画()问题
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- jquery点击函数select&取消选择
- jquery试图按名称获取按钮位置