在jQuery中的replaceWith上添加SlideUp和slidedown动画

时间:2016-01-16 16:04:07

标签: javascript jquery html css

我正在制作一个应用展示网站。我有一个全宽垂直幻灯片的页面。我在屏幕上添加了固定电话。当用户使用按钮滑动手机时,我想在手机上添加图像。

当他按下按钮时,jquery从手机中删除当前图像并以滑动方式添加新图像。我找到了关于codyhouse https://codyhouse.co/demo/app-introduction-template/index.html#cd-product-tour的教程。

这是一个很好的教程但不能以垂直方式完成。我的幻灯片代码就是这个

    <div id="allslides">
        <div  id="1" class="slides" phone_image='its the url of the image going to be added on the phone when the slide is active  '>   
            <h1>My Appp</h1>
            <p class='content'>Some content</p>         
        </div>
       <div  id="2" class="slides" phone_image='its the url of the image going to be added on the phone when the slide is active  '>    
            <h1>My Appp</h1>
            <p class='content'>Some content</p>         
        </div>
<div  id="3" class="slides" phone_image='its the url of the image going to be added on the phone when the slide is active  '>   
            <h1>My Appp</h1>
            <p class='content'>Some content</p>         
        </div>
<div  id="4" class="slides" phone_image='its the url of the image going to be added on the phone when the slide is active  '>   
            <h1>My Appp</h1>
            <p class='content'>Some content</p>         
        </div>
    </div>

我给.slides宽度和高度100%。滑块工作正常,手机完美固定在屏幕上。但是我希望每张幻灯片上的手机图像都能改变它的效果应该与链接相同,但是采用垂直方式。

我的导航按钮代码是

<div id="navigation">
                <ul>
<li><a href="#" class="bullets" id="bullet1" onclick="slider(1)"></a></li>
<li><a href="#" class="bullets" id="bullet2" onclick="slider(2)"></a></li>
<li><a href="#" class="bullets" id="bullet3" onclick="slider(3)"></a></li>
<li><a href="#" class="bullets" id="bullet4" onclick="slider(4)"></a></li>
                </ul>
    </div>

html的手机就是这个

 <div class="phone">
            <div class="cd-image-container">
                <div>
                    <div class="cd-phone-frame"></div>
                    <div class="cd-image-wrapper">

                    </div>
                </div>
            </div> 
            </div>

我正在使用的jQuery是这个

$(document).ready(function(){
$(".bullets").first().addClass('activeBullet');

            var image = $("#1").attr('phone_image');
            $('.cd-image-wrapper').prepend('<img src="'+image+'"data-video="video/video-2" alt="Screen Preview 2">');
            setTimeout(function(){
                $('.cd-image-wrapper img').slideDown("fast");
            },1);
});

The slider function is this 

function slider(n){

var ID = $(".activeDiv").attr("id");
            var sid= ID.split("slide"); 
            var new_id = sid[1];

            if(new_id == n){

            }else{


                $(".slides").removeClass('activeDiv');
                $("#slide"+n).addClass('activeDiv');

                var top = $("#slide"+n).position().top;

                $("#mainbar").css({'top':-top});

                $(".bullets").removeClass('activeBullet');
                $("#bullet"+n).addClass('activeBullet');        $('.cd-image-wrapper img').fadeOut("slow", function(){
                    var images = $("#"+id).attr('phone_image');
                    var div = $('<img src="'+images+'"data-video="video/video-2" alt="Screen Preview 2">').hide();
                    $(this).replaceWith(div);
                    $('.cd-image-wrapper img').fadeIn("slow");
                });

            }                       
            } 

正如您所见,我能够以fadeout和fadeIn方式改变手机图像效果。任何人都可以告诉我如何以滑动和滑动的方式做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用jQuery UI中的幻灯片效果。

在这里你有working sample of the effect:在选择中选择幻灯片并运行然后点击&#34;运行效果&#34;。

您可以修改效果的方向和距离,如documented here

答案 1 :(得分:0)

不太明白你的意思。我无法添加评论,所以请写在这里 如果你的意思是你想要点击按钮和DIV幻灯片。 你可以像animate.css一样使用css动画

首先使你想要的div滑入位置:绝对顶部:100%;
你想要的div和slideOut位置:绝对顶部:0;

然后当你点击按钮添加css animate类到slideIn Div使它顶部:0,slideOut div top:-100%;它可以工作,你也可以添加其他动画,比如改变它的不透明度。

Using CSS animations

这里使用css动画很容易