【问题标题】:dyanamic php and bootstrap carousel is not working动态 php 和引导轮播不起作用
【发布时间】:2020-07-27 12:46:13
【问题描述】:

我有这段代码不会制作轮播,而是将所有图像放在一起,图像滑动不起作用。

代码如下:

<div id="mycarousel" class="carousel slide" data-ride="carousel">
  <div class="carousel-inner">
  <?php
    $results = mysqli_query($mysqli, "SELECT * FROM `posts`");

    $extensions_arr = array("svg", "jpeg", "jpg", "png");

    while($row = mysqli_fetch_array($results)) {
      if(in_array($row['postFileType'], $extensions_arr)) {
   ?>
     <div class="item">
       <img src="<?php echo $row['post']; ?>" style="height: 25vh;" />
     </div>
  <?php
      }
    }
  ?>
  </div>
  <a href="#mycarousel" class="left carousel-control" dataslide="prev" role="button">
    <i class="fa fa-angle-left prevSlide"></i>
  </a>
  <a href="#mycarousel" class="right carousel-control" dataslide="next" role="button">
    <i class="fa fa-angle-right nextSlide"></i>
  </a> 
</div>

更新代码:

    <div id="mycarousel" class="carousel slide" data-ride="carousel">
                              <div class="carousel-inner">
                              <?php
                                $results = mysqli_query($mysqli, "SELECT * FROM `posts`");

                                $extensions_arr = array("svg", "jpeg", "jpg", "png");

                                  while($row = mysqli_fetch_array($results)) {
                                    if(in_array($row['postFileType'], $extensions_arr)) {
                                      ?>
                                      <div class="carousel-item">
                                        <img src="<?php echo $row['post']; ?>" style="height: 25vh;" />
                                      </div>
                                      <?php
                                    }
                                  }
                              ?>
                              </div>
                              <a class="carousel-control-prev" href="#mycarousel" role="button" data-slide="prev">
    <span class="carousel-control-prev-icon" aria-hidden="true"></span>
    <span class="sr-only">Previous</span>
  </a>
  <a class="carousel-control-next" href="#mycarousel" role="button" data-slide="next">
    <span class="carousel-control-next-icon" aria-hidden="true"></span>
    <span class="sr-only">Next</span>
  </a>
                              </div>

还有这些被改变的类: 我将 dataride 更改为 data-ride 将 item 更改为 carousel-item 将 dataslide 更改为 data-slide 但它仍然不起作用

【问题讨论】:

  • dataride 应该是 data-rideitem 应该是 carousel-itemdataslide 应该是 data-slide。最好去阅读documentation你使用的是什么版本的Bootstrap?
  • 在你的“更新代码”中...dataride 仍然是错误的
  • 没有线索。你知道如何调试/使用你的浏览器开发工具吗?你的控制台有什么错误吗? the documentation 中的示例是否有效?
  • @kerbh0lz dutchboii 的以下回答在这里工作的主要问题是我使用的是引导程序 3 类而不是 4 类并且我没有使用活动类

标签: php twitter-bootstrap carousel


【解决方案1】:

看起来您正在使用 Bootstrap 3.* 轮播的类正如您在 cmets 中所说,您拥有 Bootstrap 4。自 Bootstrap 4 以来,轮播结构发生了变化。尝试将您的代码转换为新的 Bootstrap 轮播结构.

https://getbootstrap.com/docs/4.5/components/carousel/

编辑:

您忘记激活某项我已更改您的代码。 (未测试)

<div id="mycarousel" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner">
        <?php
        $results = mysqli_query($mysqli, "SELECT * FROM `posts`");

        $extensions_arr = array("svg", "jpeg", "jpg", "png");

        $index = 0;
        while ($row = mysqli_fetch_array($results)) {
            if (in_array($row['postFileType'], $extensions_arr)) {
        ?>
                <div class="carousel-item <?= ($index === 0 ? 'active' : '') ?>">
                    <img src="<?= $row['post']; ?>" style="height: 25vh;" />
                </div>
        <?php
            }
            $index++;
        }
        ?>
    </div>
    <a class="carousel-control-prev" href="#mycarousel" role="button" data-slide="prev">
        <span class="carousel-control-prev-icon" aria-hidden="true"></span>
        <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#mycarousel" role="button" data-slide="next">
        <span class="carousel-control-next-icon" aria-hidden="true"></span>
        <span class="sr-only">Next</span>
    </a>
</div>

【讨论】:

  • dataride ... 应该是data-ride
  • 太棒了
  • @DutchBoii 只是忘了告诉你,请像我一样删除你的旧 cmets,因为 StackOverflow cmets 不适合长时间讨论。
  • 感谢您告诉我!
猜你喜欢
  • 1970-01-01
  • 2015-02-12
  • 2021-05-14
  • 1970-01-01
  • 2016-12-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多