【发布时间】:2015-03-25 12:47:36
【问题描述】:
我正在使用 TouchSwipe 插件制作一些动画。主要问题在于这个事件:
$(".swipe-area").swipe({
swipeStatus: function (event, phase, direction, distance) {
if (phase == "move") {
$('.book').css({
'-webkit-transform': 'rotateY(' + distance + 'deg)',
'transform': 'rotateY(' + distance + 'deg)'
});
}
},
triggerOnTouchEnd: false,
threshold: 90
});
标记:
<div class="book-container">
<div class="book-flipper">
<div class="book">
<img src="assets/img/book.png" alt="" width="260" height="560">
</div>
</div>
</div>
还有 CSS:
.book-container {
-webkit-perspective: 1000;
perspective: 1000;
position: absolute;
left: 766px;
top: 278px;
z-index: 99;
}
.book-container, .book {
width: 260px;
height: 560px;
}
.book-flipper {
-webkit-transition: 0.6s;
transition: 0.6s;
-webkit-transform-style: preserve-3d;
transform-style: preserve-3d;
position: relative;
}
.book {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-transform: rotateY(0deg) ;
transform: rotateY(0deg) ;
}
在桌面上,它工作正常。但在移动设备(iPad Safari)上,触摸和拖动时图像不会动画。
【问题讨论】:
-
试试
-webkit-transition: all 0.6s;。 Safari 对转换属性规范很严格。 -
尝试
alertinif (phase == "move") {验证条件。
标签: jquery css mobile touchswipe