如何使用css / jquery为图像添加缩放和翻转

时间:2013-11-14 10:19:32

标签: javascript jquery css html5 css3

我正在尝试添加翻转和缩放效果,但我只能实现一种效果。

用例是当我点击图像时图像会变焦,现在我需要在鼠标移动图像之前添加翻转效果。

任何人都可以使用我的代码帮助我输出输出。

这是我尝试过的:

HTML

  <div class="flip">
<div class = 'card'>
        <img src="http://cdn.ndtv.com/tech/images/doodle_for_google_2013.jpg" class="zoom_img" />
</div>
    </div>

CSS

.zoom_img {
    height: 250px;
    width: 250px;
    /* -moz-transition: -moz-transform 0.1s ease-in;
    -webkit-transition: -webkit-transform 0.1s ease-in;
    -o-transition: -o-transform 0.1s ease-in; */
    -webkit-transition: -webkit-transform 0.5s ease-in;
    -o-transition: -webkit-transform 0.5s ease-in;
}
.zoom_img_press {
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
}
.flip {
    -webkit-perspective: 800;
    width: 400px;
    height: 200px;
    position: relative;
    margin: 50px auto;
}
.flip .card .flipped {
    -webkit-transform: rotatex(-180deg);
}
.flip .card {
    width: 100%;
    height: 100%;
    -webkit-transform-style: preserve-3d;
    -webkit-transition: 0.5s;
}

的Javascript

$(document).ready(function() {

        $('.flip').click(function(){
            $(this).find('.zoom_img').addClass('zoom_img_press').mouseleave(function(){
                $(this).removeClass('zoom_img_press');
            });
        });
$(this).find('.zoom_img').addClass('flipped').mouseleave(function(){
                $(this).removeClass('flipped');
            });
       });

    });

Demo

2 个答案:

答案 0 :(得分:3)

尝试这个我认为它会对你有所帮助..

具有多重变换的类。

.zoom-flipper{
    -moz-transform: scale(2.2) rotatex(-180deg);
    -webkit-transform: scale(2.2) rotatex(-180deg);
    -o-transform: scale(2.2) rotatex(-180deg);
    transform: scale(2.2) rotatex(-180deg);    
}

对应的剧本:

$('.flip').click(function(){
    $(this).find('.zoom_img').addClass('zoom-flipper').mouseleave(function(){
        $(this).removeClass('zoom-flipper');
    });
});

以下是 Demo

答案 1 :(得分:0)

创建两个单独的JavaScript函数,然后编写jQuery代码来操作函数内图像的css。 JQuery css操作代码示例:

 $(".className").css({"background-color":"black","font-size":"12px"});

您可以在大括号内设置任何css属性。

然后您可以在元素DOM事件上调用JavaScript函数。因此,将使用onClick事件调用缩放功能,并在onMouseOut事件上调用flip函数。