在循环中使用jquery滑动div

时间:2012-08-02 10:46:47

标签: jquery html css

我的下面的代码有点小狗,所以我需要你的专业知识来解决这两个问题。我知道很多例子,但我想学习一点,并且代码更清晰。

  1. 滑动时,DIV项目不会并排显示。一个是另一个错误的。
  2. 我可以增强jQuery代码,使其循环或更具动态性,使其看起来更专业。如果我有100个DIV,则无法处理。
  3. 它应该永远不会停止。
  4. 由于

    <html>
        <style>
        *           { margin: 0px; padding: 0px; }
        #cover      { width: 100%; height: 300px; background: #CCCCCC; }
        #cover div  { width: 100%; height: 200px; background: #FFFFFF; }
        .content    { text-align: center; }
        </style>
        <head>
            <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
            <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
            <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
            <script type="text/javascript">
                $(document).ready(function()
                {
                    event.preventDefault();
    
                    $('#slider_2').hide().delay(5000);
                    $('#slider_3').hide().delay(10000);
                    $('#slider_1').show('slide', { direction: 'left' }, 1000);
                    $('#slider_1').delay(4000).hide('slide', { direction: 'left' }, 1000);
                    $('#slider_2').show('slide', { direction: 'right' }, 1000);
                    $('#slider_2').delay(4000).hide('slide', { direction: 'right' }, 1000);
                    $('#slider_3').show('slide', { direction: 'left' }, 1000);
                    $('#slider_3').delay(4000).hide('slide', { direction: 'left' }, 1000);
                });
            </script>
        </head>
    
        <body>
            <div id="cover">
                <div id="slider_1"><p class="content">SLIDER ONE</p></div>
                <div id="slider_2"><p class="content">SLIDER TWO</p></div>
                <div id="slider_3"><p class="content">SLIDER THREE</p></div>
            </div>
        </body>
    </html>
    

1 个答案:

答案 0 :(得分:0)

这些动画需要正确链接。一个元素的所有内容都需要出现在一个语句中:

$('#slider_1').show(...).delay(4000).hide(...);

否则jQuery可能会在第二个语句中使用第二个链(延迟隐藏)覆盖第一个动画链(show)。