Jquery 基于第四个元素更改3个元素的高度

Jquery 基于第四个元素更改3个元素的高度,jquery,css,Jquery,Css,$(文档).ready(函数(){ $(窗口)。调整大小(函数(){ var altura=$(“.textiu”).height(); 如果(阿尔图拉>20){ $('.logo').css(“背景色”、“黄色”) } }); }); .logo{ 背景颜色:灰色; 高度:50px; 垫面:4%; 垫底:2%; } .菜单{ 显示器:flex; 证明内容:之间的空间; 对齐内容:居中对齐; 宽度:100%; } .textiu{ 显示:块; 背景颜色:橙色; 垫面:5%; 垫底:5%; 背景颜

$(文档).ready(函数(){
$(窗口)。调整大小(函数(){
var altura=$(“.textiu”).height();
如果(阿尔图拉>20){
$('.logo').css(“背景色”、“黄色”)
}
});
});
.logo{
背景颜色:灰色;
高度:50px;
垫面:4%;
垫底:2%;
}
.菜单{
显示器:flex;
证明内容:之间的空间;
对齐内容:居中对齐;
宽度:100%;
}
.textiu{
显示:块;
背景颜色:橙色;
垫面:5%;
垫底:5%;
背景颜色:橙色;
颜色:白色;
过渡:背景色,颜色,1s;
}
福修先生{
显示:块;
背景色:白色;
高度:60px;
}
.屁股{
背景色:透明;
宽度:100%;
填充:0;
边界:0;
位置:相对位置;
过渡:背景色1s;
右边框:1px实心#e6ff;
}

奎姆索莫斯
波尔图
康塔托
脸谱网

看看这个,告诉我你的想法

首先,我们用第一个按钮中的文本检查跨度的高度。然后,我们只需为其他跨度设置相同的高度,就像第一个一样。选择器:第n个子元素(n+2)表示我们处理索引大于等于2的元素(0+2=2,1+2=3,等等)

EDIT2:还有一个解释-我将行高设置为最后三个元素,因为它们只有一个单词,该属性使它们的高度与第一个相同,文本垂直居中:)


看看这个,告诉我你的想法

首先,我们用第一个按钮中的文本检查跨度的高度。然后,我们只需为其他跨度设置相同的高度,就像第一个一样。选择器:第n个子元素(n+2)表示我们处理索引大于等于2的元素(0+2=2,1+2=3,等等)

EDIT2:还有一个解释-我将行高设置为最后三个元素,因为它们只有一个单词,该属性使它们的高度与第一个相同,文本垂直居中:)

请参见此处或下面的片段

(我不是说这是最好的解决方案,但它确实有效:)

我使用了
.on(“resize”,function()
,而不是
.resize()
,因为
on()
可以正常工作,所以不需要刷新页面就能看到结果

更多信息请参见此处:或此处(关于
单击()
函数,但逻辑相同)

然后,我用值
0
设置了两个变量
highestText
highestBut

然后使用
.each(function(){
(),我将比较具有相同类的元素的高度(首先是
.textiu
,然后是
.butt
,顺序无关紧要)相反,每当我发现和元素大于前一个元素时,我就给变量提供其
高度的值

例如,我将跨度与类
textiu
进行比较。首先
textiu
的高度为
20px
。如果
执行此操作,则
的值为:20px>0?是->最高文本=20px

然后第二个元素的高度为
15px
。15px>20px吗?否->什么都不做,移动到下一个元素。依此类推

因此,在
每个
函数的末尾,变量
highestText
具有高度最大的元素的高度值:)

逻辑是,如果任何元素的高度大于其余元素(调整窗口大小时),其余元素将继承该高度,因此它们都将具有相同的高度(最大高度)

对于
.butt

希望我解释的是ok,并让我知道解决方案是否适合您;)

编辑:您刚才说的是关于
$(这个)

是对调用当前函数的成员的引用

例如,在我下面的解决方案中

  $('.textiu').each(function(){  
            if($(this).height() > highestText){  
            highestText = $(this).height();  
    }
$(此)
指的是
.textiu

请参见此处的更多信息

单击下面以查看代码片段

$(窗口).on(“调整大小”,函数(){
var highestText=0,
最高但=0
$('.textiu')。每个(函数(){
如果($(this).height()>highestText){
highestText=$(this).height();
}
});
$('.butt')。每个(函数(){
如果($(this).height()>highestBut){
highestBut=$(this).height();
}
});
$('.butt')。高度(最高);
$('.textiu')。高度(最高文本);
});
.logo{
背景颜色:灰色;
高度:50px;
垫面:4%;
垫底:2%;
}
.菜单{
显示器:flex;
证明内容:之间的空间;
对齐内容:居中对齐;
宽度:100%;
}
.textiu{
显示:块;
背景颜色:橙色;
垫面:5%;
垫底:5%;
背景颜色:橙色;
颜色:白色;
过渡:背景色,颜色,1s;
}
福修先生{
显示:块;
背景色:白色;
高度:60px;
}
.屁股{
背景色:透明;
宽度:100%;
填充:0;
边界:0;
位置:相对位置;
过渡:背景色1s;
右边框:1px实心#e6ff;
}

奎姆索莫斯
波尔图
康塔托
脸谱网
请参见此处或下面的片段

(我不是说这是最好的解决方案,但它确实有效:)

我使用了
.on(“resize”,function()
,而不是
.resize()
,因为
on()
可以正常工作,所以不需要刷新页面就能看到结果

更多信息请参见此处:或此处(关于
单击()
函数,但逻辑相同)

然后,我用值
0
设置了两个变量
highestText
highestBut

然后使用
.each(function(){
())比较高度
  $('.textiu').each(function(){  
            if($(this).height() > highestText){  
            highestText = $(this).height();  
    }