A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
色と色数を任意に指定できるようにしました。
初期値だと、パステル調で赤→緑→青と変化します。
ハイフン区切りで任意個並べてください。
プログラムは計算式が多く、見た目は複雑そうですが、
やっていることは至極単純で、
まず、スクロール位置のパーセントを p に求め、後は、
色のRGB成分値をこのpに応じて計算しているだけです。
<html>
<head>
<script type="text/javascript">
<!--
function onscroll_body() {
with (document.body) {
var p = Math.floor(scrollTop / (scrollHeight - clientHeight) * 100);
}
var rgb = document.getElementById("txt").value.split("-");
var range = 100 / (rgb.length - 1);
var idxS = Math.floor(p / range);
var idxE = Math.ceil(p / range);
var depth = (p - idxS * range) / range;
var col = 0;
for (var i = 0, m = 0x10000; i < 3; i++, m /= 0x100) {
var colS = parseInt("0x" + rgb[idxS].substr(i * 2, 2));
col += Math.floor(colS * (1 - depth)) * m;
var colE = parseInt("0x" + rgb[idxE].substr(i * 2, 2));
col += Math.floor(colE * depth) * m;
}
document.body.style.backgroundColor = col;
status = "scroll% = " + p + " : color = #" + col.toString(16);
}
// -->
</script>
</head>
<body onload="onscroll_body()" onscroll="onscroll_body()">
<div style="height:3000px">
scroll gradation (target=IE) <br>
RGB=<input type="text" id="txt" size="80" value="FF8888-88FF88-8888FF"/>
</div>
</body>
</html>
No.2
- 回答日時:
求めているタイプと一致しているかは分かりませんが、onscrollイベントを取って処理する方法で実現できるかもしれませんね。
およそ、こういうタイプでしょうか?
<html>
<head>
<script type="text/javascript">
<!--
function onscroll_body() {
with (document.body) {
style.backgroundColor = 0xFFFF00 + parseInt((scrollTop / scrollHeight) * 0xFF);
}
}
// -->
</script>
</head>
<body onload="onscroll_body()" onscroll="onscroll_body()">
下へスクロールさせれば、黄色から白へ (target=IE)
<div style="height:3000px"/>
</body>
</html>
回答ありがとうございます。
確かこんな感じだったと思います。
自分で少しいじってみたらエラーになってしまうんですが、色の指定はどうすればいいでしょうか?
色は2色しか設定できないんですが2色以上設定することは可能ですか?
もしよろしければ回答お待ちしています。
No.1
- 回答日時:
Javascriptですが、こんな感じですか。
http://www.openspc2.org/reibun/javascript/graphi …ソース:http://www.openspc2.org/reibun/javascript/graphi …
(IE5.5以上のみ)
こちらの方法は知っているんです、すみません。
わたしが知りたいのは背景固定ではなくてスクロールバーがある状態で、画面をスクロールするとグラデーションになっていくという方法です。
以前にそういう方法を使用しているページを見かけたのでどうやるのかと思って探しているんですが、今回教えていただいた方法しか見つけられません。
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) ワード。図形の書式設定について。 3 2022/09/19 16:36
- クラフト・工作 グラデーションの毛糸を使ってセーターを編みたいなと思ってるんですが、家にあるのが例えば白〜青など、1 1 2023/01/13 20:43
- Illustrator(イラストレーター) ワード。オブジェクトの一部分にグラデーションを塗るには。 2 2022/10/04 13:35
- その他(クラウドサービス・オンラインストレージ) Canva(キャンバ サムネイル作るサイト)での加工について(人物だけ、光沢感あるグラデーション) 1 2023/04/01 22:09
- Photoshop(フォトショップ) PhotoshopCSで、写真画像をグレーにした上で、5色(例えば虹色等)のグラデーションをかけたい 3 2023/03/18 12:10
- Illustrator(イラストレーター) Adobeのイラレでグラデーション機能を使ってイラストを書いたところ、スマホやiPadで同じファイル 1 2023/07/24 18:52
- フィルムカメラ・インスタントカメラ この赤、光沢感があるように見えるグラデーションですが、 カラーネームとカラーコード 1 2023/07/05 20:26
- スピーカー・コンポ・ステレオ ワード。オブジェクトの上に半円を描くには。 2 2022/10/06 13:02
- Chrome(クローム) Google chromeでクリックができない症状について 6 2023/02/12 16:55
- Excel(エクセル) Excel 区切り位置指定ウィザードの選択データプレビューで全列を指定する方法 お世話になります。E 1 2023/01/17 16:36
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
テーブル内の数値を自動で計算...
-
テキストをクリックすると答え...
-
テキストボックス内にハイパー...
-
(Javascript)印刷するファイル...
-
htmlで任意の行の文字位置を右...
-
bodyにwidth:100%をつける理由は?
-
bodyタグって2重にしようするこ...
-
別ページのページ内リンクでの...
-
<a href="#" …>の意味を教えて...
-
フォーカス移動抑止について
-
iframeの中から親ページをスム...
-
SQLのWHEREで全てを質問する方法
-
JavaScript でキーを送る
-
javascriptとApacheの設定
-
javascriptでalertの文字列をコ...
-
cssにjavascriptを入れる?呼び...
-
getElementsByNameで要素が取得...
-
Jquery.PHPファイルのechoが表...
-
キーを押している間の時間を計...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
ハイパーリンクに下線を表示す...
-
テキストボックス内にハイパー...
-
ボタンが押されたらWebページの...
-
横スクロールを右から左へ・・・
-
WEB上で編集できない、スク...
-
別ページのページ内リンクでの...
-
"mailtoでメールの【氏名】【性...
-
googleモバイルがiframeで表示...
-
bodyにwidth:100%をつける理由は?
-
複数のiframeの読み込みについて
-
インラインフレームの縦幅を、...
-
【HTML】フレームの中央寄せに...
-
WSHでのIE制御について
-
インラインフレーム内のスクロ...
-
「overflow: hidden」ペー ジ内...
-
ページによって表示位置がずれ...
-
DOCTYPEの指定より異なる動き
-
外部ページからハッシュタグ(...
おすすめ情報