循环查找jquery

时间:2013-02-14 02:35:17

标签: jquery slide

我想知道是否有人可以帮助我使用jquery循环或脚本。当点击一个按钮时,我想给div设置动画以在屏幕上滑动,当再次点击时,另一个div向下滑动。单击该按钮时,再次单击另一个div,依此类推。

这是我到目前为止所做的html标记

<div class="page-container">

<h2 class="gallery-heading"> WAIKANAE BEACH HOUSE </h2>
    <img src="images/waikanae/next button.png" id="gallery-next"/>


    <div id="slider">

      <section class="horizontal-gallery">
        <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-horizontal"/>
        <p class="horizontal-gallery-text">Test text.</p>
      </section>

      <section class="vertical-gallery">
        <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-horizontal"/>
        <p class="horizontal-gallery-text">Test text.</p>
      </section>

      <section class="horizontal-gallery">
        <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-horizontal"/>
        <p class="horizontal-gallery-text">Test text.</p>
      </section>

    </div> 

$('#gallery-next').click(function() {
   $('.horizontal-gallery').hide('slide',{direction:'left'},1000);
});

2 个答案:

答案 0 :(得分:0)

根据您的描述,您需要:

$('div selector').hide('slide',{direction:'right'},1000);

还有:

$('button').click(function() {
   //sliding code
});

请参阅:http://docs.jquery.com/UI/Effects/Slide 并且:http://api.jquery.com/click/

答案 1 :(得分:0)

这可能不是完全您想要的,但希望您会找到一些有用的代码提示。采取什么行之有效,并发布另一个问题来微调您的解决方案。它看起来有点乱,因为我在页面中包含了javascript和样式表,而不是将它们作为单独的文档。

请注意,hide('slide')方法来自jQueryUI,您也必须包含该库。

另请注意,根据另一张不幸删除帖子的海报的建议,ID已添加到每个部分元素中。

这是一个完全有效的例子(只是确保你的图像存在。它们可以是不同的图像)

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
    <script type="text/javascript">
        var totalslides = 3;
        var slidenum = 0;
        var slidenext = 0;
        var slideType = '';
        $(function(){
            $('#gallery-next').data('counter',1);
            $('#gallery-next').click(function() {
               slidenum = parseInt($('#gallery-next').data('counter'));
               slidenext = slidenum+1
               slideType = $('#'+slidenum+'-slide').attr('class')
               slideType = slideType.split('-')[0]
               if (slideType=='horizontal') slideType='up';
               else slideType = 'left';
//alert('Next slideType is: ' + slideType)
                //hide(slide) is a jQueryUI function, so ensure you include that lib
               $('#'+slidenum+'-slide').hide('slide',{direction:slideType},500);
               $('#'+slidenext+'-slide').fadeIn(1000);
               slidenum = slidenum % totalslides + 1;
               $('#gallery-next').data('counter',slidenum);
            });
        });
    </script>
    <style type="text/css" >
        .init-hidden {display:none;}
    </style>
</head>
<body>
<div class="page-container">

    <h2 class="gallery-heading"> WAIKANAE BEACH HOUSE </h2>
    <img src="images/waikanae/next button.png" id="gallery-next"/>

    <div id="slider">
        <section id="1-slide" class="horizontal-gallery">
            <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-horizontal"/>
            <p class="horizontal-gallery-text">Test text.</p>
        </section>

        <section id="2-slide" class="vertical-gallery init-hidden">
            <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-vertical"/>
            <p class="vertical-gallery-text">Test text.</p>
        </section>

        <section id="3-slide" class="horizontal-gallery init-hidden">
            <img src="images/waikanae/crafar_h1.jpg" class="waikanae-gallery-horizontal"/>
            <p class="horizontal-gallery-text">Test-text.</p>
        </section>
    </div> <!-- endDiv slider -->
</div> <!-- endDiv page-container -->
</body>
</html>