淡入淡出&输出间隔

Fade In & Out Interval

本文关键字:输出 amp 淡出 淡入      更新时间:2023-09-26

如何在不点击的情况下实现类似滑块的效果?这是一个来自JSFIDDLE的示例。

从示例中,我们必须单击图像才能查看下一个内容。但我想要的是,让它淡出并等待5秒,然后淡出到下一个内容。

我必须更改此处的javascript吗?:

$('#two, #three').hide();
$('.slide').click(function(){
    $(this).fadeOut().next().fadeIn();
});

我是新手。请引导我。非常感谢!

您可以使用链式事件在另一个事件结束后触发一个事件,并使用delay()函数使事件"等待"发生:

$('#two, #three').hide();
$(document).ready(function() {
    $("#one").delay(10000).fadeOut("slow", function(){ // first animation delayed 10 secs
        $(this).next().fadeIn("slow", function(){
            $(this).delay(2500).fadeOut("slow", function(){
                $(this).next().fadeIn("slow");
            });          
        });
    });
});
#pic {
    width:460px;
    height:300px;
    margin:0 20px 0 20px;
    overflow:hidden;
}
.slide {
    width:460px;
    height:300px;
}
#one {
    background:url('http://icons.iconarchive.com/icons/yellowicon/game-stars/256/Mario-icon.png') no-repeat;
}
#two {
    background:url('http://icons.iconarchive.com/icons/hopstarter/sleek-xp-software/256/Yahoo-Messenger-icon.png') no-repeat;
}
#three {
    background:url('http://icons.iconarchive.com/icons/hopstarter/sleek-xp-software/256/3D-Studio-Max-icon.png') no-repeat;
}
#one {
    position: absolute;
    margin-top:50px;
}
#one .tooltip-content {
    display: none;
    position: absolute;
    bottom:100%;
    left:0;
    right: 5%;
    background-color:aquamarine;
    padding:;
}
#one:hover .tooltip-content {
    display: block;
}
#one .tooltip-content2 {
    display: none;
    position: absolute;
    top:100%;
    left:0;
    right: 5%;
    background-color:bisque;
    padding:;
}
#one:hover .tooltip-content2 {
    display: block;
}
#two {
    position: absolute;
    margin-top:50px;
}
#two .tooltip-content {
    display: none;
    position: absolute;
    bottom:100%;
    left:0;
    right: 5%;
    background-color:goldenrod;
    padding:;
}
#two:hover .tooltip-content {
    display: block;
}
#two .tooltip-content2 {
    display: none;
    position: absolute;
    top:100%;
    left:0;
    right: 5%;
    background-color:coral;
    padding:;
}
#two:hover .tooltip-content2 {
    display: block;
}
#three {
    position: absolute;
    margin-top:50px;
}
#three .tooltip-content {
    display: none;
    position: absolute;
    bottom:100%;
    left:0;
    right: 5%;
    background-color:darksalmon;
    padding:;
}
#three:hover .tooltip-content {
    display: block;
}
#three .tooltip-content2 {
    display: none;
    position: absolute;
    top:100%;
    left:0;
    right: 5%;
    background-color:darkseagreen;
    padding:;
}
#three:hover .tooltip-content2 {
    display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="pic">
    <div id="one" class="slide">
        <div class="tooltip-content">
            <p>Here is some content for the tooltip</p>
        </div>
        <div class="tooltip-content2">
            <p>Lorem ipsum</p>
        </div>
    </div>
    <div id="two" class="slide">
        <div class="tooltip-content">
            <p>Here is some content for the tooltip</p>
        </div>
        <div class="tooltip-content2">
            <p>Lorem ipsum</p>
        </div>
    </div>
    <div id="three" class="slide">
        <div class="tooltip-content">
            <p>Here is some content for the tooltip</p>
        </div>
        <div class="tooltip-content2">
            <p>Lorem ipsum</p>
        </div>
    </div>
</div>

编辑

您可以将delay()函数的参数调整为任意毫秒数。

EDIT2

要使函数在页面加载后立即运行,可以使用JQuery的$(document).ready()

FIDDLE

试试这个代码。我希望这能有所帮助。。。。

setInterval(function() {
  $("#fade").fadeToggle();
}, 1500);
<div id="fade" style="background-color:#66FFFF;width:500px;
height:100px;text-align:center;">
  This text should fade in and out
</div>

这是jsfiddle的工作链接。检查一下:-http://jsfiddle.net/emgee/4QJeG/7/

您需要使用JS setInterval方法每5秒调用一次更改:

setInterval(function(){
    $('.slide').fadeOut().next().fadeIn();
}, 5000);

更新的JSFIDDLE:http://jsfiddle.net/ghorg12110/e40ct6sn/2/

将javascript代码放在5秒的setinterval函数中,如下所示下面是一个jsfiddle工作示例http://jsfiddle.net/elviz/e40ct6sn/8/

           $('#two, #three').hide();
              setInterval(function(){ $('.slide').fadeOut().next().fadeIn(); 
               $('.tooltip-content, .tooltip-content2').show();
            }, 5000);