【问题标题】:Stop jQuery button animation on last slide在最后一张幻灯片上停止 jQuery 按钮动画
【发布时间】:2015-12-19 09:22:40
【问题描述】:

https://jsfiddle.net/z3q2wtLf/29/light/embedded/result/

在上面附加的 jsfiddle 链接中,.cd-hero 有 3 张幻灯片,可通过单击激活。我正在尝试仅在第三张幻灯片(“谢谢”)上向 jQuery 添加停止事件,以便用户在该幻灯片上停止(不会向右滑动或返回上一张幻灯片)。我是 jQuery 新手,非常感谢任何有关如何实现这一点的帮助!

我尝试过以下应用但没有成功:

$('.cd-btn').on('click', function(event) {
      event.preventDefault();
      if($(this).hasClass('.thanks')){
       event.stopPropagation();
      } else {
        var activePosition = $('.cd-hero-slider .selected').index();
        var selectedPosition =  activePosition + 1;
        nextSlide($('.cd-hero-slider'), $(''), selectedPosition);

        updateNavigationMarker(selectedPosition + 1);
      }
  });

【问题讨论】:

  • 什么将函数 nextSlide 和 updateNavigationMarker 包装到 IF 语句中,如 IF(position
  • 向按钮 (a) 添加一个 id 或 classes,上面写着“谢谢”,然后像 $('#ThankYou').click(function(e) {e.preventDefalut()})

标签: javascript jquery html css


【解决方案1】:

如果您接受向“谢谢”按钮添加类的建议(例如thanks),您可以使用 if 语句开始初始点击事件,该语句会执行除继续动画之外的其他操作。类似的东西:

代码

$('.cd-btn').on('click', function(event) {
      event.preventDefault();
      if($(this).hasClass('.thanks')){
       //do something other than animate the slides
      } else {
        var activePosition = $('.cd-hero-slider .selected').index();
        var selectedPosition =  activePosition + 1;
        nextSlide($('.cd-hero-slider'), $(''), selectedPosition);

        updateNavigationMarker(selectedPosition + 1);
      }
  });

【讨论】:

  • 我试过 $('.cd-btn').on('click', function(event) { event.preventDefault(); if($(this).hasClass('thanks') ){ event.stopPropagation(); } else { var activePosition = $('.cd-hero-slider .selected').index(); var selectedPosition = activePosition + 1; nextSlide($('.cd-hero-slider '), $(''), selectedPosition); updateNavigationMarker(selectedPosition + 1); });但是,这不起作用?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
  • 2019-11-25
相关资源
最近更新 更多