我試圖讓3D圖層效果這樣的網頁上: 示例頁面: http://cloudraiders.com/平滑平移鼠標移動
我所做的幾乎一切,但有一個很大的問題是無法處理:
$("#mainView").mousemove(function(event) {
//getting mouse dimentions
var pageX = event.pageX;
var pageY = event.pageY;
var mainWidth = $(this).width();
var mainHeight = $(this).height();
//
//console.log(pageX);
("#mainView").find("li").each(function(index) {
var depth = $(this).attr("dataDepth");
var scalable = $(this).attr("scalable");
var x = pageX*depth;
var y = pageY*depth;
var z = 0;
var thisScale = mainWidth/mainHeight * 1;
//setting accelerated webkit transform
$(this).css("-webkit-transform", "translate3d("+x+"%,"+y+"%,"+z+"px"+")");
});
});
問題是,translate3d不像示例頁面那樣平滑。它在跳。 當我將鼠標移出窗口,然後進入不同的地方時,它只是跳躍。
我已經在論壇上找到了一些解決方案,但沒有用鼠標移動到好的方面。 任何幫助將不勝感激。
商祺!
編輯: 心中已經使用jQuery的動畫功能:
$(this).animate({ whyNotToUseANonExistingProperty: 100 }, {
step: function(now,fx) {
$(this).css('-webkit-transform',"translate3d("+x+"%,"+y+"%,"+z+"px"+")");
},
duration:100
},'linear');
它的工作原理差不多好了,但問題是,jQuery是堆疊查詢。如果我將鼠標移動很多,動畫就像分鐘一樣。
您的腳本沒有 「平穩」 過渡,如果鼠標離開/英寸。將價值觀保持在一定的範圍內,並嘗試逐步從舊到新。另外,轉換:所有......它可能不起作用,您使用3d轉換,而不是2d。 – cox