当前位置: 首页 > 知识库问答 >
问题:

点击卡片,在弹出的“下一步”和“上一步”按钮上显示各自的详细信息

邓德惠
2023-03-14

我正在显示卡滑块动态从数据库在我的网站,这是工作。我正在使用下面的代码为卡滑块。

$data = '<div class="main-carousel planSliders mt-5">';
    foreach($plans as $plan){
    $tid = $plan->ID;
    $data.= '<div class="carousel-cell">
             <a href="'.esc_url( get_permalink($tid)).'"><div class="planBg"  style="background-image:linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),url('.get_the_post_thumbnail_url($tid).')">
              <div class="planInfo">
                <h4>'.$plan->post_title.'</h4>
                  </div>
                  </div>
             </a> </div>';   
    }
    $data.='</div>';

上面代码的输出是,

  --------------------------------------
< | card 1  | card 2 | card 3 | card 4 | > many more
  |         |        |        |        |  
  --------------------------------------

现在我所做的是,当用户点击任何一个卡片,弹出窗口就会打开,上面有相应的细节,还有上一个和下一个按钮。

对于弹出窗口,我使用了一个引导4模式代码,并添加了引导轮播滑块代码,这样我就可以检查下一个和上一个卡的详细信息。

为了测试目的,我添加了一个名为测试按钮的按钮,以检查我是否获得了带有所有滑块数据的模式。是的,而且起作用了。

  $data.='<button type="button" class="btn btn-primary" data-toggle="modal" data-target=".bd-example-modal-lg">Test button</button>
<div class="planPopup modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
       
  <div class="modal-dialog modal-lg">
    <div class="modal-content">
   <button type="button" class="close closePopup" data-dismiss="modal">&times;</button>
      <div id="planOpenPopup" class="carousel slide" data-ride="carousel">
  <!-- The slideshow -->
  <div class="carousel-inner">';

  $i=1;
  foreach($plans as $plan){
    $item_class = ($i == 1) ? 'carousel-item active' : 'carousel-item'; 
    $tid = $plan->ID;
      $data.='<div class="'.$item_class.'">
      <div class="planPopupWrapper">
        <div class="planPopupBG"  style="background-image:linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),url('.get_the_post_thumbnail_url($tid).')">
        </div> <div class="planPopupContent"><h4>'.$plan->post_title.'</h4><p>'.$plan->post_content.'</p></div></div></div>';
        $i++;
    }


  $data.='</div>
  <!-- Left and right controls -->
  <a class="carousel-control-prev" href="#planOpenPopup" data-slide="prev">
    <span class="carousel-control-prev-icon"></span>
  </a>
  <a class="carousel-control-next" href="#planpenPopup" data-slide="next">
    <span class="carousel-control-next-icon"></span>
  </a>
</div>
    </div>
    
  </div>
</div>
</div>';

现在我的问题是,我必须点击卡片以显示弹出的上一个和下一个按钮的细节?

这是一个例子。从现在起,如果你点击大模式按钮,它就会打开带有滑块的弹出窗口。这只是为了测试。我必须显示弹出一旦点击我的卡。

null

* {
  box-sizing: border-box;
}

body {
  font-family: sans-serif;
}

.parentSlider {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}

.parentSlider-cell img {
  width: 100%;
}

.modal-dialog {
  max-width: 80%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<div class="parentSlider">
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="//placehold.it/450x280?text=Image 1" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="//placehold.it/450x280?text=Image 2" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="//placehold.it/450x280?text=Image 3" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="//placehold.it/450x280?text=Image 4" /></a>
  </div>
</div>

<button type="button" class="btn btn-primary mt-5" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>

<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">

      <div id="demo" class="carousel slide" data-ride="carousel">

        <!-- The slideshow -->
        <div class="carousel-inner">
          <div class="carousel-item active">
            <img src="http://placehold.it/1200x600/555/000&text=One" alt="Los Angeles">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fffccc/000&text=Two" alt="Chicago">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fcf00c/000&text=Three" alt="New York">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fcf00c/000&text=Four" alt="test">
          </div>
        </div>

        <!-- Left and right controls -->
        <a class="carousel-control-prev" href="#demo" data-slide="prev">
          <span class="carousel-control-prev-icon"></span>
        </a>
        <a class="carousel-control-next" href="#demo" data-slide="next">
          <span class="carousel-control-next-icon"></span>
        </a>

      </div>

      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>

null

你能帮我解决这个问题吗?

共有1个答案

卫才哲
2023-03-14

当单击一个图像时,您可以获得包含该图像的div索引,即:0,1..等,然后使用该索引,我们可以使旋转木马幻灯片处于相同位置。

演示代码:

null

js lang-js prettyprint-override">//when img is clicked
$('.parentSlider-cell img').click(function() {
//get index for div 
  var idx = $(this).parents('div').index();
  console.log(idx)
  var id = parseInt(idx);
  $('.bd-example-modal-lg').modal('show'); // show the modal
  $(".carousel-inner").carousel(id); // slide carousel to selected
});
* {
  box-sizing: border-box;
}

body {
  font-family: sans-serif;
}

.parentSlider {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}

.parentSlider-cell img {
  width: 100%;
}

.modal-dialog {
  max-width: 80%;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">



<div class="parentSlider">
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="http://placehold.it/1200x600/555/000&text=One" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="http://placehold.it/1200x600/555/000&text=two" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="http://placehold.it/1200x600/fcf00c/000&text=Three" /></a>
  </div>
  <div class="parentSlider-cell">
    <a href="javascript:void(0);"><img src="http://placehold.it/1200x600/fcf00c/000&text=Four" /></a>
  </div>
</div>

<button type="button" class="btn btn-primary mt-5" data-toggle="modal" data-target=".bd-example-modal-lg">Large modal</button>

<div class="modal fade bd-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-lg">
    <div class="modal-content">

      <div id="demo" class="carousel slide" data-ride="carousel">

        <!-- The slideshow -->
        <div class="carousel-inner">
          <div class="carousel-item active">
            <img src="http://placehold.it/1200x600/555/000&text=One" alt="Los Angeles">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fffccc/000&text=Two" alt="Chicago">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fcf00c/000&text=Three" alt="New York">
          </div>
          <div class="carousel-item">
            <img src="http://placehold.it/1200x600/fcf00c/000&text=Four" alt="test">
          </div>
        </div>

        <!-- Left and right controls -->
        <a class="carousel-control-prev" href="#demo" data-slide="prev">
          <span class="carousel-control-prev-icon"></span>
        </a>
        <a class="carousel-control-next" href="#demo" data-slide="next">
          <span class="carousel-control-next-icon"></span>
        </a>

      </div>

      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
 类似资料:
  • 我正试图让JQuery在按下下一个按钮时自动单击该按钮。在互联网上,我发现应该是这样的(查看JQuery部分)。但由于某种原因,它不起作用。 它们必须在同一个代码中吗? 我尝试过的:JQuery: 表单中的按钮1 HTML: 表单中的按钮2 HTML:

  • 这是我第一个问题的后续问题,我正在尝试抓取一个网站,让Selenium点击(直到无法点击为止)并收集结果。 这是来自网站的html标签,带有按钮: 我试过这个代码: 我也查过这个问题,但还是没能解决。 有什么想法吗?

  • 问题内容: 朋友你好,我试图显示我的Jave Gui应用程序中的记录,我做了一些代码,但是当我单击下一步按钮时,它显示了最后一条记录。还有什么其他方法可以查看之间的记录,请帮忙。 问题答案: 您需要将数据库代码与GUI代码分开。您还需要将您的应用程序分解为更小的,更容易编码的步骤。 这是您的应用程序在启动时需要做的事情: 打开与数据库的连接。 选择表Soil_det的所有键,然后将键保存在列表中。

  • 我有一个包含36个按钮的响应网站。乍一看,我们只能看到12个按钮,我需要验证它们的文本值,我知道如何做到这一点。但问题是我需要点击下一步按钮,直到它不可见。那么在c#中如何用selenium来做呢? 此外,在单击“下一步”时,我们需要将按钮的文本存储在一个列表或数组中,这样我就可以将所有列表添加到一个新列表中并进行比较。 看看下面的代码,我试过了。 现在上面的工作正常,但当“下一步”按钮不可用时,

  • 我有一个内部web应用程序,它有一个模态对话框。不幸的是,我不能在这里发布实际的web应用程序位置,但是让我尽可能地描述一下。 当应用程序启动时,屏幕上会出现一个框,告诉您一堆文本。您可以按“下一页”以获取下一页文本 在最后一页上,“下一步”按钮被禁用,web应用程序的其余UI被启用 页面数量不定,所以我不知道我必须点击“下一步”多少次 我可以点击固定的次数(例如,如果我知道有两个页面,我可以点击

  • 下面是代码:home.xml Home.java 我是不是也应该贴上HomFrag代码? 这三张照片给出了关于问题的所有信息,正如你可以看到的第一张图片显示了应用程序的启动。然后我点击其他页面,点击返回,我得到的结果在第二个图像,和第三个空白屏幕时,我再次点击返回。我不明白问题的原因,如果有谁以前遇到过这个问题,请帮助。