【发布时间】:2019-05-13 04:58:29
【问题描述】:
我使用 css3 clip 属性创建了带有 3 张幻灯片的滑块。单击幻灯片当前幻灯片剪辑(隐藏)并显示下一张幻灯片。底部的幻灯片编号也为 1 2 3,这是未激活的。
HTML
$('.slide').click(function() {
var $target = $(this).next();
if ($target.length == 0)
$target = $('.slide:first');
setTimeout(() => $(this).addClass('slide-clip').animate({
'z-index': 1
}), 500);
$target.removeClass('slide-clip').animate({
'z-index': 3
});
});
.slider-wrapper {
display: flex;
width: 100%;
height: 100%;
color: #fff;
background: #000;
}
.slider-wrapper slide h1 {
margin-top: 20px;
}
.slide {
position: absolute;
width: 95%;
height: 100%;
padding: 80px 40px;
text-align: center;
background: #333;
clip: rect(0 1060px 660px 0);
-webkit-transition: linear .5s;
transition: linear .5s;
cursor: pointer;
}
.slide:nth-child(1) {
background-color: #F69B9A;
/*--magenta shade--*/
z-index: 3;
}
.slide:nth-child(2) {
background-color: #9DD3D9;
/*--cyne shade--*/
z-index: 2;
}
.slide:nth-child(3) {
background-color: #FFBE6A;
/*--yellow shade--*/
z-index: 1;
}
.slide-clip {
clip: rect(0 0 660px 0);
}
.slide-number {
display: flex;
max-width: 100%;
position: absolute;
bottom: 0;
left: 50%;
transform-x: 50%;
text-align: center;
z-index: 999;
}
.slide-number div {
padding: 20px 10px;
opacity: .5;
}
.slide-number {
display: flex;
max-width: 100%;
position: absolute;
bottom: 0;
left: 50%;
transform-x: 50%;
text-align: center;
z-index: 999;
}
.slide-number div {
padding: 20px 10px;
opacity: .5;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="wrapper">
<div class="slides">
<div class="slide">content1</div>
<div class="slide">content2</div>
<div class="slide">content3</div>
</div>
</div>
<div class="slide-number">
<div>1</div>
<div>2</div>
<div>3</div>
</div>
上面的 jquery 代码可以很好地在单击时剪辑幻灯片(动画)。我希望添加 jquery - 在开始时幻灯片编号 1 将默认处于活动状态(不透明度 1),当单击幻灯片时,幻灯片编号 1 将停用,下一张幻灯片编号将处于活动状态,依此类推幻灯片编号 3。或任何解决方案。我有基本的 jquery 知识并且不深,所以请有人帮助我。
【问题讨论】:
-
嗨@Ramesh,你能分享一下Minimal, Complete, and Verifiable example吗?
-
嗨,@mgarica,我更新了我的 CSS。请检查。
标签: jquery