css 在 jquery addclass 之后转换
css transition after jquery addclass
我试图在添加活动 class 和 jquery 后慢慢扩展 div,但我无法使其正常工作。
div 只是获取宽度,但不会发生转换。
我也试过用 jquery 做动画,但也没用。
$(document).ready(function() {
$('.Sliders').click(function(e) {
$(this).addClass('active').siblings().removeClass('active');
});
});
#SliderHolder {
width: 100%;
height: 100%;
font-size: 0px;
position: relative;
display: table;
border-collapse: collapse;
}
.Sliders {
min-width: 50px;
height: 100%;
display: table-cell;
box-sizing: border-box;
vertical-align: top;
font-size: 72px;
text-align: center;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
}
.active {
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Wrapper">
<div id="SliderHolder">
<div id="Slide1" class="Sliders active"></div>
<div id="Slide2" class="Sliders"></div>
<div id="Slide3" class="Sliders"></div>
<div id="Slide4" class="Sliders"></div>
</div>
</div>
您可以将 width : 0%;
添加到 .Sliders
样式并将过渡添加到 .active
class
$(document).ready(function() {
$('.Sliders').click(function(e) {
$(this).addClass('active').siblings().removeClass('active');
});
});
#SliderHolder {
width: 100%;
height: 100%;
font-size: 0px;
position: relative;
display: table;
border-collapse: collapse;
}
.Sliders {
width : 0%;
min-width: 50px;
height: 100%;
display: table-cell;
box-sizing: border-box;
vertical-align: top;
font-size: 72px;
text-align: center;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
}
.active {
width: 100%;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
background : red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Wrapper">
<div id="SliderHolder">
<div id="Slide1" class="Sliders active">1</div>
<div id="Slide2" class="Sliders">2</div>
<div id="Slide3" class="Sliders">3</div>
<div id="Slide4" class="Sliders">4</div>
</div>
</div>
我试图在添加活动 class 和 jquery 后慢慢扩展 div,但我无法使其正常工作。 div 只是获取宽度,但不会发生转换。 我也试过用 jquery 做动画,但也没用。
$(document).ready(function() {
$('.Sliders').click(function(e) {
$(this).addClass('active').siblings().removeClass('active');
});
});
#SliderHolder {
width: 100%;
height: 100%;
font-size: 0px;
position: relative;
display: table;
border-collapse: collapse;
}
.Sliders {
min-width: 50px;
height: 100%;
display: table-cell;
box-sizing: border-box;
vertical-align: top;
font-size: 72px;
text-align: center;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
}
.active {
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Wrapper">
<div id="SliderHolder">
<div id="Slide1" class="Sliders active"></div>
<div id="Slide2" class="Sliders"></div>
<div id="Slide3" class="Sliders"></div>
<div id="Slide4" class="Sliders"></div>
</div>
</div>
您可以将 width : 0%;
添加到 .Sliders
样式并将过渡添加到 .active
class
$(document).ready(function() {
$('.Sliders').click(function(e) {
$(this).addClass('active').siblings().removeClass('active');
});
});
#SliderHolder {
width: 100%;
height: 100%;
font-size: 0px;
position: relative;
display: table;
border-collapse: collapse;
}
.Sliders {
width : 0%;
min-width: 50px;
height: 100%;
display: table-cell;
box-sizing: border-box;
vertical-align: top;
font-size: 72px;
text-align: center;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
}
.active {
width: 100%;
-webkit-transition: all 2s ease;
-moz-transition: all 2s ease;
-o-transition: all 2s ease;
transition: all 2s ease;
background : red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="Wrapper">
<div id="SliderHolder">
<div id="Slide1" class="Sliders active">1</div>
<div id="Slide2" class="Sliders">2</div>
<div id="Slide3" class="Sliders">3</div>
<div id="Slide4" class="Sliders">4</div>
</div>
</div>