Я создаю простой слайдер CSS3. При выполнении двух разных переходов свойств, в частности transform: scale3d
и left
, анимация сначала выполняет преобразование, а затем переходит влево.
Скачок происходит только тогда, когда анимация завершена. Другими словами, если вы непрерывно щелкаете по следующему разделу, то переходы будут плавными.
Вот веб-сайт
Я сделал jsFiddle и, похоже, работает так, как хочу на jsFiddle: http://jsfiddle.net/BdG4k
По сути, это формат моего кода:
#slider > * {
margin-left: -270px;
position: absolute;
-webkit-transition: all 1s;
}
#slider .module.leftX {
left: XX%;
z-index: 45;
-webkit-transform: scale3d(0.5, 0.5, 1);
}
Примечание. Я использую только -webkit, пока не получу его для работы. Затем я добавлю -moz и -ms.
Aaron проблема в том, что вы используете свойство transform
только для браузера webkit.
В вашем js файле slider.js
используется только хром-специфический префикс поставщика -webkit
. Попробуйте добавить префикс -moz
для Firefox также для IE.
$('#slider').ready( function() {
function slide(focus) {
var l1css = {
'opacity': 0.8,
'-webkit-transform': 'scale3d(0.5, 0.5, 1)',
'-moz-transform': 'scale3d(0.5, 0.5, 1)', /*for Firefox*/
'transform': 'scale3d(0.5, 0.5, 1)', /*for IE*/
'margin-left': '-135px',
'left': '19%'
};
проверьте рабочую демонстрацию
jsfiddle
.