javascript - 如何用里面的 div 制作幻灯片,而不是图像?

标签 javascript jquery html slideshow

<分区>

我想用 javascript 制作幻灯片,但我只知道如何在里面放几张图片,但是对于我的网站,我需要制作可以放置 div 的幻灯片吗?

我只需要两张幻灯片,每张幻灯片中有3个div,并且那两张幻灯片在左边变化。

HTML

<div id="container" class="cont2">

        <div id="box1" class="box">Div #1<div class="kkc"><p>Div Caption1</p></div></div>
        <div id="box2" class="box">Div #2<div class="kkc"><p>Div Caption2</p></div></div>
        <div id="box3" class="box">Div #3<div class="kkc"><p>Div Caption3</p></div></div>

CSS

#container {
position: absolute;
margin: 0px;
padding: 0px;
height: 304px;
width: 500px;
overflow: hidden; 
background-color:  white;
margin-top: 78px;
margin-left: 124px;
z-index: -1;
}

.box {
position: absolute;
width: 50%;
height: 300px;
line-height: 300px;
font-size: 50px;
text-align: center;
border: 2px solid black;
left: 50%;   
top: 0px;
margin-left: -25%;
z-index: -1;
cursor: pointer;
}

 #box1 {
background-color: green;
left: -150%;

}


#box2 {
background-color: yellow;
left:50%;
 }

 #box3 {
background-color: red;
left: 150%;


}

Javascript

$(document).ready(function(){
var refreshId;
var restartAnimation = function() {
    clearInterval(refreshId);
    refreshId = setInterval( function() 
    {    
        $('.box').each(function() {
            if ($(this).offset().left < 0) {
                $(this).css("left", "150%");
            } else if ($(this).offset().left > $('#container').width()) {
                $(this).animate({
                    left: '50%'
                }, 500 );
            } else {
                $(this).animate({
                    left: '-150%'
                }, 500 );
            }
        });
    },1000);
}

restartAnimation()


});

我已经尝试过了,但它不起作用。

最佳答案

JS:

function Divs() {
    var divs= $('#parent div'),
        now = divs.filter(':visible'),
        next = now.next().length ? now.next() : divs.first(),
        speed = 1000;

    now.fadeOut(speed);
    next.fadeIn(speed);
}

$(function () {
    setInterval(Divs, 1400);
});

CSS:

#parent div {
    display:none;
    position: absolute;
    top: 0;
    left: 0;
}
#parent div:first-child {
    display:block;
}
div{background:red}

#parent > div{
    width:400px;
    height:250px;
}

HTML:

<div id="parent">

        <div id="box1" class="box">Div #1</div>
        <div id="box2" class="box">Div #2</div>
        <div id="box3" class="box">Div #3</div>
</div>

here is a Js Fiddle example

关于javascript - 如何用里面的 div 制作幻灯片,而不是图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21957530/

相关文章:

JavaScript 包括另一种

多个元素的 jQuery UI 自动完成格式

javascript - 即使在调用追加后,Formdata 对象仍显示为空

jquery - 带有图像的 div 标签的大小 - 带有 JQuery Mobile 的 html5

jquery - 如果键入 @ 符号,则表单验证更改 CSS

javascript - 使用 Bootstrap 标签输入和 AJAX 时,表单输入的值不会在 ReadyState 上发生变化

javascript - Firefox 中的退格键问题

javascript - RxJs:使用 async/await 共享 Observable

javascript - 使用 eq() 和 find() 添加类

javascript - 从组件刷新/重新加载 ember 路由