HTML, JSについて質問です。
サイト閲覧者が要素の背景色を選ぶような機能を検討しております。
その際、閲覧者には2色を選んでもらいグラデーション表示をさせたいと考えております。
下記コードでうまく実装できておらず、改善策を教えていただきたいです。
JS
javascript
1<script type="text/javascript"> 2function setBGcolor2(e) { 3function setBGcolor2(f) { 4document.getElementById('msg').style.background = `linear-gradient(#${e}, #${f})`; 5} 6} 7</script>
HTML
html
1<ul> 2<p>Background color1 <input type="color" onChange="setBGcolor1(this.value);"><br> 3<p>Background color2 <input type="color" onChange="setBGcolor2(this.value);"><br> 4</ul> 5
functionの中にfunctionありますが、意図的でしょうか。
いいえ。JS自体初心者なものでなにをしていいかわからず、2重に使っておりました。
よく見たら同じ名前のfunctionですね。
「基本」という意味でもMDN参照してください(ドキュメントのようなものです)。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Grammar_and_types
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Functions
https://developer.mozilla.org/ja/docs/Learn/JavaScript/Building_blocks/Events
いきなり作りたいモノだけを作ろうとしても、大抵行き詰って遠回りになるので、
入門書レベルから対応した方が良いと思います(プログラムは書いた通りにしか動かないので、「なぜ動くのか」「なぜ動かないのか」がハッキリしています。)。
特に「イベント」「オブジェクトの操作」はしっかり覚えておかないと何も組めません。
もしかしたら「変数」とか型辺りから。
やはり入門書一回やったほうがいいかもしれませんね。
回答2件
あなたの回答
tips
プレビュー
