Javascript rotator について。
こんばんは。
Javascriptについてソースを拝見してもわからなく
行き詰ってしまったのでこちらで質問させて頂きました。
この度、下記のJavaを使用してホームページを作成したく思っております。
【説明】http://www.skuare.net/test/j3DRotator_1.html
【デモ】http://www.skuare.net/test/j3DRotator.html
が、そこで一つお尋ねしたいのですが
テキストには遠近感がついていますが画像には遠近感が全くありません。
画像にも手前は大きく、奥に行けば小さくなるアクションを付ける場合は
どの様に改善すれば宜しいのでしょうか?
また、参考になるサイトでもあれば良いのですが・・・(涙
初歩的な質問だとは思いますが
何卒、ご教授宜しくお願い致します。
No.3
- 回答日時:
まわせ!まわせ!実験報告
No.1様の回答 + No.2様の回答 で、画像も伸びちじみ、
オパシティはまあいいか。
if(p.element.getElementsByTagName("img").length>0)
p.element.getElementsByTagName("img")[0].style.width = scale - (zz * 300 |0) + '%';
No.2
- 回答日時:
まわせ!まわせ~!むずかしいざひょうけいはむししてるけど・・・
すべてのぜんかくくうはくは、はんかくにしてちょ!
<!DOCTYPE html>
<title></title>
<style type="text/css">
#box {
width : 800px;
height : 800px;
background-color: black;
list-style :none;
margin: 0;
padding: 0;
}
#box li {
color : #fff;
}
</style>
<body>
<ul id="box">
<li>1
<li>2
<li>3
<li>4
<li>5
<li>6
<li>7
<li>8
<li>9
</ul>
<script>
(function ( ) {
var node = document.getElementById ('box');
var lis = node.getElementsByTagName ('li');
var cnt, li;
var parts = [ ];
var cx = node.offsetWidth / 2;
var cy = node.offsetHeight / 2;
var r = 300;
var n = 360 / lis.length;
var xr = 3;
var yr = 1;
var zr = .5;
var deg = Math.PI / 180;
var depth = 1000;
var scale = 700;
node.style.position = 'relative';
node.style.overflow = 'hidden';
// ざひょうのていぎ
for (cnt = 0; li = lis[cnt]; cnt++) {
li.style.position = 'absolute';
parts.push ( {
'element' : li,
'x' : Math.sin (n * cnt * deg) * r,
'y' : 0,
'z' : Math.cos (n * cnt * deg) * r,
'alpha' : 1,
'scale' : 1
});
}
(function ( ) {
var x, y, z, mx, my, mz, p, t, xx, yy, zz, s, ss;
for (cnt = 0; p = parts[cnt++]; ) {
x = p.x, y = p.y, z = p.z, s = p.element.style;
if (xr) { //x軸の回転
t = xr * deg;
my = y * Math.cos (t) - z * Math.sin (t);
mz = y * Math.sin (t) + z * Math.cos (t);
y = my, z = mz;
}
if (yr) {
t = yr * deg;
mx = x * Math.cos (t) - z * Math.sin (t);
mz = x * Math.sin (t) + z * Math.cos (t);
x = mx, z = mz;
}
if (zr) {
t = zr * deg;
mx = x * Math.cos (t) - y * Math.sin (t);
my = x * Math.sin (t) + y * Math.cos (t);
x = mx, y = my;
}
zz = (z + depth) / scale;
xx = (cx + x / zz) |0;
yy = (cy + y / zz) |0;
s.top = yy + 'px';
s.left = xx + 'px';
s.fontSize = scale - (zz * 300 |0) + '%';
p.x = x, p.y = y, p.z = z;
}
setTimeout (arguments.callee, 30);
})();
})();
</script>
No.1ベストアンサー
- 回答日時:
ざっと見ただけですが…
$.fn.rotate の終わりのほうの
this[i].style.top = -Y + "px";
this[i].style.left = X + "px";
this[i].style.fontSize = size + "em";
this[i].style.opacity = (size*10)/5;
this[i].style.zIndex = elem[i].dist;
の部分で、各要素の位置やサイズを指定しているみたいです。
サイズに関してはfontSizeを指定しているだけなので、単純には画像のサイズは変わらないということになっているみたい。
オリジナルのデモは文字のみなので、画像までは考慮して作成していないのかも。
http://www.willjessup.com/sandbox/jquery/rotator …
…かと思ったら、最初に作成したものはこんな感じらしい。
http://www.willjessup.com/sandbox/jquery/solar_s …
(画像のサイズもちゃんと変わっていますね)
この(↑)HTMLソースのように、画像のサイズ指定をemで指定しておけば、fontSizeの指定がそのまま画像サイズに反映されるということみたいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Instagram HTML5の廃止とJavaScript 2 2022/04/13 21:05
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- Ameba(アメーバブログ) アメブロは、HTMLのタグの入力を許さないブログ・サイトですか? 1 2023/06/18 18:48
- ホームページ作成・プログラミング アメーバ・ブログは"HTMLタグ"を許可してないのですか? 2 2023/06/17 21:08
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP ECCUBE4のページ管理でPHPを実行させたい 1 2023/04/06 11:42
- 統計学 母平均の検定(両側t検定)の問題 2 2023/03/14 20:02
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
追加ボタンを押した際に ok ボ...
-
フォームが空欄の時にフォーム...
-
GASに文字列として関数を入れる...
-
特定の文字列を複数抜き出した...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
①入力フォーム→②確認表示画面→③...
-
Q&A掲示板の入力フォームに文字...
-
ボタンを押したあとに画像を表...
-
コードレビューをお願いします。
-
React hooksが値を返して配列変...
-
フロントエンドフレームワーク...
-
画面遷移を行わずに同一ページ...
-
ローディングアニメーションの...
-
jQueryで同じクラス名のものを...
-
ジャバスクリプトについて。
-
プログラムについて。
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
-
iOSのみダブルタップが必要
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
ジャバスクリプトについて。
-
画面遷移を行わずに同一ページ...
-
特定の文字列を複数抜き出した...
-
指定時間になったら、WEBサイト...
-
追加ボタンを押した際に ok ボ...
-
①入力フォーム→②確認表示画面→③...
-
スマホ上で、左右スワイプで次...
-
読み込んだQRコードをフォーム...
-
フロントエンドフレームワーク...
-
React hooksが値を返して配列変...
-
GASでGoogleフォームの自動返信...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
HTMLで作った時報アプリが動き...
-
jQueryで同じクラス名のものを...
おすすめ情報