2
我搜索了幾個類似的問題,但找不到解決方案,我的問題,所以它就是這樣。jQuery div翻轉動畫點擊CSS和SASS不能正確翻轉
我想創建一個簡單的翻轉框。
按下方框並翻轉到背面。
再次按下方框並翻轉回到正面。
我的問題是,翻蓋看起來不好,一旦它翻轉到背面,翻蓋卡片不會翻轉回到前面。我剛開始學習SASS,並且我正在製作這張翻轉卡以獲得使用SASS mixins的一些經驗。一旦我開始工作,我會清理它。
這是我目前的代碼。
HTML:
<div class="flip3D">
<div class="front">Front Box</div>
<div class="back">Back Box</div>
</div>
CSS(SASS):
@mixin flipCard($width, $height, $color) {
width: 0;
height: 0;
margin: 10px;
//display: block;
//display: inline-block;
float: left;
.front {
position: absolute;
-webkit-transform: perspective(600px) rotateY(0deg);
transform: perspective(600px) rotateY(0deg);
background: $color;
width: $width;
height: $height;
border-radius: 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: transform .5s linear 0s;
transition: transform .5s linear 0s;
//z-index: 1002;
}
.back {
position: absolute;
-webkit-transform: perspective(600px) rotateY(180deg);
transform: perspective(600px) rotateY(180deg);
background: $color - 40;
width: $width;
height: $height;
border-radius: 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transition: transform .5s linear 0s;
transition: transform .5s linear 0s;
//z-index:1002;
}
}
.flip3D {
@include flipCard(240px, 200px, white - 20);
}
的jQuery:
$(document).ready(function() {
$(".flip3D").on('click', function() {
if($(this).attr('data-click-state') == 1) {
$(this).attr('data-click-state', 0)
frontFlip();
} else {
$(this).attr('data-click-state', 1)
backFlip();
}
});
});
function frontFlip() {
$(".front")
.css('transform', 'perspective(600px) rotateY(-180deg)')
.css('-webkit-transform', 'perspective(600px) rotateY(-180deg)')
}
function backFlip() {
$(".back")
.css('transform', 'perspective(600px) rotateY(0)')
.css('-webkit-transform', 'perspective(600px) rotateY(0)')
}
真棒 - 感謝你的快速回復和解答。一旦時間限制允許,我會將其標記爲答案。 console.log(1)僅用於測試嗎? – user3622460
@ user3622460是的,我已經刪除它:)很高興它幫助你。 – Harry