gpt4 book ai didi

html - 选择选项卡时更改 div 高度

转载 作者:行者123 更新时间:2023-11-28 03:20:15 25 4
gpt4 key购买 nike

我有一个包含 4 个选项卡的选项卡式内容,每个选项卡中都有两个构成边框设计的 div。我遇到的问题是我不知道如何设置 div 动画以在选中它们所在的选项卡时更改高度。我有一个 fiddle for reference标记如下。

HTML

<div class="container">
<ul class="tabs">
<li class="tab-link current" data-tab="tab-1" id="welcome_selector">Welcome</li>
<li class="tab-link" data-tab="tab-2">Tab Two</li>
<li class="tab-link" data-tab="tab-3">Tab Three</li>
<li class="tab-link" data-tab="tab-4">Tab Four</li>
</ul>
<div class="tabcontentcontainer">
<div id="tab-1" class="tab-content current"> <div class="bordertop_animate"> </div>welcome tab will be empty, save for the borders <div class="borderbottom_animate"></div></div>
<div id="tab-2" class="tab-content"><div class="bordertop_animate"></div> tab 2 content<div class="borderbottom_animate"></div> </div>
<div id="tab-3" class="tab-content"><div class="bordertop_animate"></div> tab 3 content<div class="borderbottom_animate"></div> </div>
<div id="tab-4" class="tab-content"><div class="bordertop_animate"></div> tab 4 content<div class="borderbottom_animate"></div>
</div>
</div>
</div>

CSS

.container {
width: 1000px;
min-height: 400px;
margin: 0 auto;
}

ul.tabs {
margin: 0px;
padding: 0px;
list-style: none;
background: #000;
vertical-align: middle;
font-weight: 400;
color:#FFF;
text-align: right;
text-transform: uppercase;
font-size: 8px;
letter-spacing: 0.6px;
}

ul.tabs li {
background: #000;
vertical-align: middle;
font-weight: 400;
color:#FFF;
text-align: right;
text-transform: uppercase;
font-size: 8px;
letter-spacing: 0.6px;
display: inline-block;
padding: 55px 15px 55px 15px;
cursor: pointer;
}

ul.tabs li.current {
background: #000;
color: #FFF;
}

#welcome_selector {
float: left;
padding-left: 128px;
}

.tabcontentcontainer {
height: 400px;
width: 1000px;
background: url(http://placehold.it/1000x400) #000;
position: relative;
}

.tab-content {
display: none;
background: rgba(0, 0, 0, 0.0);
padding: 15px;
}

.tab-content.current {
display: inherit;
}

.bordertop_animate {
position: absolute;
height: 38px;
width: 966px;
border-top: 2px solid #FFF;
border-right: 2px solid #FFF;
border-bottom: 0px solid #FFF;
border-left: 2px solid #FFF;
}

.borderbottom_animate {
position: absolute;
bottom: 15px;
height: 38px;
width: 966px;
border-top: 0px solid #FFF;
border-right: 2px solid #FFF;
border-bottom: 2px solid #FFF;
border-left: 2px solid #FFF;
}

JS

$(document).ready(function(){

$('ul.tabs li').click(function(){
var tab_id = $(this).attr('data-tab');

$('ul.tabs li').removeClass('current');
$('.tab-content').removeClass('current');

$(this).addClass('current');
$("#"+tab_id).addClass('current');
})

})

我希望第一个标签保持当前 div 的高度为 38px,但是我希望其他 3 个标签的高度为 185px- 但是当选项卡被选中。如果 div 有一个应用了 0.5 秒过渡的 :hover css 选择器,动画将类似于,除了它会在选项卡被选中时发生,而不是在鼠标悬停时发生。

抱歉,如果这不够详细或具体,这是我第一次发布问题/处理 jquery。

最佳答案

这是一个针对您的问题的 jquery 解决方案,以备不时之需。JS fiddle :http://jsfiddle.net/nPAhw/

html

<ul>
<li id="tab1">Tab One</li>
<li id="tab2">Tab Two</li>
</ul>

<div id="tabone">Tab one</div>
<div id="tabtwo">Tab Two</div>

CSS

#tabone{
width:200px;
height:38px;
border:solid blue;
margin:10px;
}
#tabtwo{
width:200px;
height:38px;
border:solid black;
margin:10px;
}
#tab1:hover{
cursor:pointer;
}
#tab2:hover{
cursor:pointer;
}

jquery/javascript

$('#tab1').click(function(){
var h = $('#tabone').height();
if(h < 185){
$('#tabone').animate({height:'185px'});
$('#tabtwo').animate({height:'38px'});
}
else $('#tabone').animate({height:'38px'});
});

$('#tab2').click(function(){
var h = $('#tabtwo').height();
if(h < 185){
$('#tabtwo').animate({height:'185px'});
$('#tabone').animate({height:'38px'});
}
else $('#tabtwo').animate({height:'38px'});
});

关于html - 选择选项卡时更改 div 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24844260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com