私はJavascriptとJqueryが初めてで、ブラウザウィンドウ内でマウスが移動したときにCSSの「変換」値を変更して画像のパースペクティブを変更するスクリプトを書いています。
すべてがうまくいっています!javascript/jquery を合理化してコードの量を削減し (-webkit- -moz- -ms- などを対象とする CSS であるため)、スクリプトの微調整も容易にしたいだけです。
わかりましたので、ここに私が合理化したい部分があります:
$('#logo').css({
'-webkit-transform':
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/300 +
"deg)",
'-moz-transform':
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/300 +
"deg)",
'-ms-transform':
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/300 +
"deg)",
'transform':
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/300 +
"deg)",
});
中央の 4 つのセクションのそれぞれにある唯一のバリエーションは、CSS ブラウザー固有の要素 (-webkit-、-moz- など) だけであることがわかるので、当然、これらのバリエーションのそれぞれを含む配列を作成し、ループスルーしたいと考えています。バリエーション。
これは、JavaScript「for」を使用してループする最初の試みです。
var browserTransitionCSS = [
'-webkit-transition',
'-moz-transition',
'-ms-transition',
'transition'
];
for(var i=0; i < browserTransformCSS.length; i++)
{
$('#logo').css({
browserTransformCSS:
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/200 +
"deg)",
});
};
これは、Jquery "each" を使用してループする 2 回目の試みです。
var browserTransitionCSS = [
'-webkit-transition',
'-moz-transition',
'-ms-transition',
'transition'
];
$.each(browserTransitionCSS, function(something) {
$('#logo').css({
something :
"rotateY("
+ (e.pageX-(current_width/2))/150 +
"deg) rotateX("
+ (e.pageY-(e.pageY*2-600)-(current_height/2))/200
+ "deg)",
});
});
そして今、何時間も格闘した後、私は屈服し、誰か助けてもらえないかと尋ねています.
私のURLを見るのが役に立つなら、尋ねてください。
ここで何か助けていただければ幸いです。どうもありがとうございました。