【问题标题】:Pause a photo slider interval when i click on image单击图像时暂停照片滑块间隔
【发布时间】:2017-03-15 06:23:00
【问题描述】:

我制作了一个照片滑块,并添加了一些 w3 css,所以当我单击滑块中的图像时,我会打开一个照片模式。但是当 javascript 代码想要滑动滑块时,如果我会弄乱我的模型必须模态,当我打开模态时,他们有什么方法可以暂停 javascript?

我的 PHP 代码:

function getSlideshow($conn) {
    $sql = "SELECT * FROM status WHERE status_image!='noimage.png' ORDER BY likes DESC LIMIT 8";
    $query = mysqli_query($conn, $sql);
    $i = 0;
    while ($row = $query->fetch_assoc()) {
        if($i % 4 == 0 && $i) echo "</div>";
        if($i % 4 == 0) echo "<div class='inner'>";
        echo "
        <div class='imagebox'>
            <img src='images/".$row['status_image']."' onclick='document.getElementById(\"modal".$row['sid']."\").style.display=\"block\"' class='w3-hover-opacity'>
            </div>
            <div id='modal".$row['sid']."' class='w3-modal' onclick='this.style.display=\"none\"'>
    <span class='w3-closebtn w3-hover-green w3-container w3-padding-16 w3-display-topright'>&times;</span>
    <div class='w3-modal-content w3-animate-zoom'>
      <img src='images/".$row['status_image']."' style='width:100%'>
  </div>
</div>

        ";
        $i++;
    }
    if($i % 4) echo '</div>';
}

JS/JQuery 代码:

    $("#slideshow1h > .inner:gt(0)").hide();

setInterval(function() {
  $('#slideshow1h > .inner:first')
    .fadeOut(1500)
    .next()
    .fadeIn(1500)
    .end()
    .appendTo('#slideshow1h');
}, 6000);

【问题讨论】:

    标签: javascript jquery css


    【解决方案1】:

    setInterval 返回一个 ID,即 1,因此您可以 clearInterval(1) 或者您可以将间隔函数设置为变量和 clearInterval(myTimer)

    $("#slideshow1h > .inner:gt(0)").hide();
    
    setInterval(function() {
      $('#slideshow1h > .inner:first')
        .fadeOut(1500)
        .next()
        .fadeIn(1500)
        .end()
        .appendTo('#slideshow1h');
    }, 6000);
    
       $('img').on('click', function() {
         clearInterval(1)
       }
    );
    

    这将永远停止,您必须再次致电 setInterval 才能恢复

    【讨论】:

    • 好的,所以我想我可以在单击“x”关闭模式时输入代码? :)
    • 您可以在关闭和/或单击图像时调用它来暂停它。
    • 当我点击关闭按钮时,我只是不明白如何执行代码以重新启动它。&lt;span class='w3-closebtn w3-hover-green w3-container w3-padding-16 w3-display-topright'&gt;&amp;times;&lt;/span&gt;@Brian McCall
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    相关资源
    最近更新 更多