如何在第一张幻灯片中添加按钮以加载下一张幻灯片?

艾米丽·麦克穆林

链接到我的代码

我有使用html / css / JS的幻灯片放映。我想在第一张幻灯片上有一个按钮,它将触发第二张幻灯片显示。不知道如何去做。

的HTML:

<div class="flex__container flex--pikachu flex--active" data-slide="1">
<div class="flex__item flex__item--left">
  <div class="flex__content">
    <p class="text--sub">Pokemon Gen I</p>
    <h1 class="text--big">Pikachu</h1>

    <button> <p><i class="down"></i></p></button>
    <p class="text--normal">Pikachu is an Electric-type Pokémon introduced in Generation I. Pikachu are small, chubby, and incredibly cute mouse-like Pokémon. They are almost completely covered by yellow fur.</p>
  </div>
  <p class="text__background">Pikachu</p>
</div>
<div class="flex__item flex__item--right"></div>
<img class="pokemon__img" src="https://s4.postimg.org/fucnrdeq5/pikachu.png" />
</div>

CSS:

.down {
 transform: rotate(45deg);
 -webkit-transform: rotate(45deg);
 }
i {
 border: solid black;
 border-width: 0 3px 3px 0;
 display: inline-block;
 padding: 3px;
 }
达克里·丹尼

一种方法是使用div元素[slide]data属性.flex__container将幻灯片放映一个。你可以:

  1. [slide]通过选择带有类的元素来获取当前活动幻灯片数据属性编号值.flex--active
  2. [slide]属性编号增加1(以使幻灯片向前移动1
  3. 检查[slide]属性编号是否未超过幻灯片总数,如果是,请将其重置回起始幻灯片

在代码中,它可能类似于:

$('.next').on('click', function(e) {
  e.preventDefault();

  /*
  Extract current slide index and compute next index
  */
  var current = $('.flex--active').data('slide');
  var next = parseInt(current) + 1;

  /*
  Query next slide element from next slide index just computed
  */
  var nextSlide = $('.slider__warpper')
  .find('.flex__container[data-slide=' + next + ']');

  /*
  If the next slide does not exist, set it to the first slide (ie if
  we've gone outside the range of slides, go back to beginning)
  */
  if( nextSlide.length === 0 ) {
    nextSlide = $('.slider__warpper').find('.flex__container[data-slide=1]')    
  };

  /*
  Cause slide nav to be in sync with navigation to next 
  */
  $('.slide-nav').removeClass('active');
  $('.slide-nav', '.slider__navi').eq(next - 1).addClass('active');

  /*
  Use same transition/animation logic as in other navigation handler
  */
  nextSlide.addClass('flex--preStart');
  $('.flex--active').addClass('animate--end');

  setTimeout(function() {

    $('.flex--preStart')
    .removeClass('animate--start flex--preStart')
    .addClass('flex--active');

    $('.animate--end')
    .addClass('animate--start')
    .removeClass('animate--end flex--active');

  }, 800); 
});

这也是一个有效的Codepen-希望能有所帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何获取部分中第一张幻灯片的幻灯片编号?

如何检测圆滑的最后一张幻灯片和第一张幻灯片?

bxslider移动第一张幻灯片

BxSlider:最后一张幻灯片上的“下一张”->跳回到第一张幻灯片?

隐藏/禁用最后一张幻灯片上的“下一张”按钮和第一张幻灯片上的“上一张”按钮

如何在光滑的幻灯片中获取上一张幻灯片索引

如何在简单的jQuery幻灯片中隐藏上一张幻灯片?

如何在多标签页上的标签加载上显示第一张幻灯片

幻灯片的第一张图片未加载

jQuery周期2:如何正确显示第一张幻灯片的索引?

Bootstrap Carousel 下一张幻灯片添加到上一张幻灯片的下方

如何手动滑动到离子幻灯片中的下一张幻灯片

选择单选按钮上的 Bootstrap 轮播无法在下一张幻灯片上工作,因为它在第一张幻灯片上工作正常

FlexSlider轮播在第一张幻灯片中滑动所有图像-WordPress

光滑的滑块,在第一张幻灯片中填充

如何修复Slick.js中的第一张幻灯片并从第二张幻灯片开始?

滑动滑块YouTube在最后一张和第一张幻灯片上出现故障

如何获取最后一张和第一张幻灯片以激活下一个和上一个按钮或相应地禁用

UI引导轮播第一张幻灯片不显示,然后在最后一张幻灯片崩溃

禁用和启用轮播图标不适用于第一张和最后一张幻灯片之间的幻灯片 - Bootstrap

manifest.js打印为pdf仅打印第一张幻灯片?

photowipe - 单击外部元素时显示第一张幻灯片

ffmpeg视频幻灯片仅拍摄第一张图像

防止滚动过去后滚动回到第一张幻灯片

ActionBarDrawerToggle直到第一张幻灯片才打开抽屉

光滑的滑块动画回到第一张幻灯片

转盘到达最后时返回第一张幻灯片

在Easy Slider中更改第一张幻灯片的暂停时间

基金会去轨道第一张幻灯片