基本上我有一個按鈕,我想要懸停並滑動到綠色(活動)按鈕,然後將鼠標移出並滑動到看起來是開始的灰色無效的按鈕,但它從左邊進來,然後我想取消這個設置,所以我的按鈕在開始時沒有實際轉換到它,希望這是有道理的?使用JavaScript和css的按鈕轉換,如何暫時禁用轉換
此刻,如果我轉換到從左邊開始的第一個按鈕:0到左邊:-210px您會看到轉換,因爲.btn-ctn有轉換,是否可以臨時禁用此按鈕,以便按鈕有效跳,所以你沒有看到綠色的中間按鈕?
CSS
* {
padding: 0;
margin: 0;
border: 0;
outline: 0;
list-style: none;
}
body {
padding: 20px;
}
.direction {
width: 70px;
overflow: hidden;
}
.btn-ctn {
width: 210px;
position: relative;
left: -140px;
-webkit-transition: left .3s ease-in-out;
}
.btn-ctn.on {
left: -70px;
}
.btn-ctn.off {
left: 0;
}
.btn-ctn > li {
float: left;
position: relative;
}
.btn {
width: 70px;
height: 70px;
background: #676767;
display: block;
}
.btn::after {
content: '';
width: 30px;
height: 30px;
border-right: 2px solid white;
border-top: 2px solid white;
display: block;
position: absolute;
top: 0; right: 15px; bottom: 0; left: 0;
margin: auto;
-webkit-transform:rotate(45deg);
}
.active .btn {
background: #5cdf84;
}
.btns > li::after {
}
JS
$('.btn').on('mouseenter', function() {
$('.btn-ctn').removeClass('off').addClass('on');
}).on('mouseleave', function() {
$('.btn-ctn').removeClass('on').addClass('off');
//reset to start without actually animating so if i hover over again the same animation happens as if its first time?
});
的jsfiddle http://jsfiddle.net/AtZX2/2/
嘿沒有我需要的轉變發生了兩個按鈕,但我需要的最終狀態恢復到開始的狀態,沒有任何過渡 – styler
我希望的東西稍微更優雅比這http://jsfiddle.net/AtZX2/2/ – styler
希望我的更新答案是解決正確的問題:) – metadept