javascript - 第二张图像的 onclick 应该变为事件状态(即进行 next() 调用)

标签 javascript jquery flexslider

我在 slider 中显示 2 个图像,一个并排地显示下一个和上一个图标。 无法再添加一个场景,即 slider 中第二张图像的 onclick 应该在 flexslider 中进行 next() 调用,依此类推。

示例: Slide#1 是事件的,Side#2 是半事件图像,单击“Slide#2”半事件图像区域时,它应该变为“事件”,“Slide#3”应该是半事件图像,依此类推。

演示 JSFiddle: https://jsfiddle.net/pkuwhvqm/

HTML:

<div class="outerWideSlider">
<div class="wideSlider">
<div class="flexslider" data-startat="0">
  <ul class="slides">
    <li>
      <img alt="" src="https://www.solodev.com/assets/flexslider/slide1.jpg">
      <div class="text-caption">
        <div class="inner">
          <h2>Slide #1</h2>
          <p>This is the text for slide #1</p>
        </div>
      </div>
    </li>
    <li>
      <img alt="" src="https://www.solodev.com/assets/flexslider/slide2.jpg">
      <div class="text-caption">
        <div class="inner">
          <h2>Slide #2</h2>
          <p>This is the text for slide #1</p>
        </div>
      </div>
    </li>
    <li>
      <img alt="" src="https://www.solodev.com/assets/flexslider/slide3.jpg">
      <div class="text-caption">
        <div class="inner">
          <h2>Slide #3</h2>
          <p>This is the text for slide #1</p>
        </div>
      </div>
    </li>
  </ul>
</div>
 </div>
</div>

JavaScript:

$(document).ready(function () {
$(".wideSlider").each(function () {
var $this = $(this);
var $slider = $this.find(".flexslider");
var startat = $slider.attr("data-startat");
if (startat = 0) {
}
$slider.flexslider({
  animation: 'slide',
  easing: 'linear', // // Default: swing   {NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
  // useCSS: false, // Default: true
  slideshow: false, // Default: True  //Boolean: Animate slider automatically
  slideshowSpeed: 7000, // Default: 7000 // Integer: Set the speed of the slideshow cycling, in milliseconds
  animationLoop: true, // Default: true
  startAt: startat,
  controlNav: false,
  directionNav: true,
  nextText: " ",
  prevText: " ",
  start: function (slider) {
    // $('.wideSlider .text-caption').fadeOut(100);
    // var $s = slider.slides.eq(slider.currentSlide);
    // $s.find('.text-caption').show();
  },
  before: function (slider) {
    // $('.wideSlider .text-caption').hide();
  },
  after: function (slider) {
    // var $s = slider.slides.eq(slider.currentSlide);
    // $s.find('.text-caption').show();
  }
});
 });
 })

最佳答案

只需添加以下处理程序。 https://jsfiddle.net/g1mteokv/

$("li").click(function(){
   if($(this).prev().hasClass("flex-active-slide")){
        $(".flex-next").click();
    }else if ($(this).next().hasClass("flex-active-slide")){
        $(".flex-prev").click();
    }
 });

关于javascript - 第二张图像的 onclick 应该变为事件状态(即进行 next() 调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58810516/

相关文章:

javascript - 加载外部内容,以便 Google 可以搜索以用于 SEO 目的

php - json_encode 不使用 html 字符串作为值

javascript - 自动完成链接

javascript - flexslider css 导致图像消失

jQuery - 为丢失特定类的元素定义变量并运行函数

php - 在 flexslider 中添加图像链接

javascript - 在新浏览器窗口的响应中显示 PDF 字节流

javascript - Angular 双向绑定(bind)似乎不起作用,而文档说它应该起作用

javascript - AJAX 成功返回旧结果

javascript - 使用 ajax 从 get in php 中检索许多值