javascript - 动态 slider 双内容显示

标签 javascript php css mysql mysqli

我正在尝试使 W3 slider 动态化原始 slider 来自 this-link

我想以一种只显示所有底部图像并且只显示顶部当前图像的方式制作它,请参阅此链接以便更好地理解。

在我的代码中,所有内容都显示为双倍。

这是我的 slider 代码:

       <section id="slider">
    <div class="container wow fadeInUp">
      <div class="row">
        <div class="col-md-12">
         <h3 class="section-title">Photo Gallery</h3>
         <div class="section-title-divider"></div>
  <div class="w3-content" style="max-width:1200px">
                                                                <?php 

include("admin/db/db.php");


$select_db = "select * from gallery";

$run_events = mysql_query($select_db);

while($row=mysql_fetch_array($run_events)){


    $id = $row['id'];
      $image= $row['image'];

?>
  <img class="mySlides" src="admin/images/gallery/<?php echo $image; ?>" style="width:100%;height:350px;">
  <div class="w3-row-padding w3-section">
    <div class="w3-col s4">
      <img class="demo w3-opacity w3-hover-opacity-off" src="admin/images/gallery/<?php echo $image; ?>" style="width:100%" onclick="currentDiv(<?php echo $id; ?>)">
    </div>
<?php }?>

  </div>
</div>
<script>
var slideIndex = 1;
showDivs(slideIndex);

function plusDivs(n) {
  showDivs(slideIndex += n);
}

function currentDiv(n) {
  showDivs(slideIndex = n);
}

function showDivs(n) {
  var i;
  var x = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("demo");
  if (n > x.length) {slideIndex = 1}
  if (n < 1) {slideIndex = x.length}
  for (i = 0; i < x.length; i++) {
     x[i].style.display = "none";
  }
  for (i = 0; i < dots.length; i++) {
     dots[i].className = dots[i].className.replace(" w3-opacity-off", "");
  }
  x[slideIndex-1].style.display = "block";
  dots[slideIndex-1].className += " w3-opacity-off";
}
</script>

        </div>
      </div>
    </div>

  </section> 

最佳答案

您需要用这个替换您的代码并查看:

<section id="slider">
    <div class="container wow fadeInUp">
      <div class="row">
        <div class="col-md-12">
         <h3 class="section-title">Photo Gallery</h3>
         <div class="section-title-divider"></div>
  <div class="w3-content" style="max-width:1200px">

<?php 

include("admin/db/db.php");

$select_db = "select * from gallery";
$run_events = mysql_query($select_db);
while($row=mysql_fetch_array($run_events)){

    $id = $row['id'];
      $image= $row['image'];

?>
  <img class="mySlides" src="admin/images/gallery/<?php echo $image; ?>" style="width:100%;height:350px;">
  <div class="w3-row-padding w3-section">
    <div class="w3-col s4">
      <img class="demo w3-opacity w3-hover-opacity-off" src="admin/images/gallery/<?php echo $image; ?>" style="width:100%" onclick="currentDiv(<?php echo $id; ?>)">
    </div>
  </div>
<?php }?>

</div>

<script>
var slideIndex = 1;
showDivs(slideIndex);

function plusDivs(n) {
  showDivs(slideIndex += n);
}

function currentDiv(n) {
  showDivs(slideIndex = n);
}

function showDivs(n) {
  var i;
  var x = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("demo");
  if (n > x.length) {slideIndex = 1}
  if (n < 1) {slideIndex = x.length}
  for (i = 0; i < x.length; i++) {
     x[i].style.display = "none";
  }
  for (i = 0; i < dots.length; i++) {
     dots[i].className = dots[i].className.replace(" w3-opacity-off", "");
  }
  x[slideIndex-1].style.display = "block";
  dots[slideIndex-1].className += " w3-opacity-off";
}
</script>

        </div>
      </div>

    </div>
</section> 

关于javascript - 动态 slider 双内容显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45394480/

相关文章:

HTML 文本对媒体标签没有反应

javascript - 当元素可见时运行动画 - 自定义 javascript

javascript - 我如何在一个 aspx 页面上对每个用户控件使用 javascript pageLoad() 事件?

javascript - 重新加载页面以反射(reflect)更改

javascript - 使用 jQuery 检查复选框是否被选中 : different methods?

javascript - 如何将猫头鹰轮播添加到首页

javascript - 如何根据其他操作的结果对操作进行排队

php - Mysql从两个表中选择组相似的行

php - Wordpress 侧边栏搞砸了。为什么?

php - 如何在文本框上显示光标第一行