Преобразование (сдвиг) перетаскиваемого div

0

Я использую jquery draggable чтобы сделать этот div подвижным в окне.

Изображение 174551

Изображение 174551

Когда он перетаскивается (в этой погоне, вправо), я хочу, чтобы меня деформировали, как изображение выше.

Огромное спасибо заранее!

Если вам нужна дополнительная информация, пожалуйста, скажите мне.

3 ответа

1
Лучший ответ

Это может помочь вам:

<script>  
$(function() {
var prevX = -1;

$('.movable').draggable({
drag: function(e) {
    //console.log(e.pageX);
    // dragged left
    if(prevX > e.pageX) {
        $(this).addClass('cls');
    }
    else if(prevX < e.pageX) { // dragged right
        $(this).removeClass('cls').addClass('cls2');
    }
    prevX = e.pageX;
},
stop: function () {
    $(this).removeClass('cls').removeClass('cls2');
}
});

});
</script>

Если перетащить вправо, это будет похоже на вашу фотографию, и если ее перетащить влево, она будет преобразована в 175deg.

CSS:

.cls {
-webkit-transform:skewX(5deg);
-moz-transform:skewX(5deg);
-ms-transform:skewX(5deg);
-o-transform:skewX(5deg);
}
.cls2 {
-webkit-transform:skewX(175deg);
-moz-transform:skewX(175deg);
-ms-transform:skewX(175deg);    
-o-transform:skewX(175deg);
}
1

fiddle Demo

JS

$("#drag").draggable({
    drag: function () {
        $(this).addClass('cls');//add class on dragging 
    },
    stop: function () {
        $(this).removeClass('cls');//remove class on drag stop
    }
});

CSS

.cls {
    transform: rotate(20deg);
    -moz-transform:rotate(20deg);
    -webkit-transform:rotate(20deg);
    -o-transform:rotate(20deg);
}
1
<div></div>

,

$("div").draggable({
drag: function () {
    $(this).addClass('skew');
},
stop: function () {
    $(this).removeClass('skew');
}
});

,

div {
height:300px;
width:150px;
background-color:cornflowerblue;
}

.skew {
transform: skew(-20deg,0);
-moz-transform:skew(-20deg,0);
-webkit-transform:skew(-20deg,0);
-o-transform:skew(-20deg,0);
}

DEMO

Ещё вопросы

Сообщество Overcoder
Наверх
Меню