質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

1467閲覧

jquery bubbly-bgの背景グラデーションの向きを変えたい

winter_pc

総合スコア14

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

1クリップ

投稿2020/12/03 02:52

編集2020/12/03 06:36

ふわふわの泡の背景を作成できるJS「bubbly-bg.js」を使おうとしています。
https://tipsy.github.io/bubbly-bg/
これを使って、深海から泡が出てくる様子を再現したいです。
泡の向きなどはオプションから設定できたのですが背景のグラデーションの向きを変える事が出来ません。
jsファイルを書き換えないといけないとは思うのですがどのようにしたらいいのでしょうか?
(cssを追加でも出来るのでしょうか…)

改行無しだったので適当に改行入れました。

js

1"use strict"; 2window.bubbly=function(t){ 3 var n=t||{}, 4 o=function(){ 5 return Math.random() 6 }, 7 r=n.canvas||document.createElement("canvas"), 8 e=r.width, 9 a=r.height; 10 null===r.parentNode&&(r.setAttribute("style","position:fixed;z-index:-1;left:0;top:0;min-width:100vw;min-height:100vh;"), 11 e=r.width=window.innerWidth, 12 a=r.height=window.innerHeight, 13 document.body.appendChild(r)); 14 var i=r.getContext("2d"); 15 i.shadowColor=n.shadowColor||"#fff", 16 i.shadowBlur=n.blur||4; 17 var l=i.createLinearGradient(0,0,e,a); 18 l.addColorStop(0,n.colorStart||"#2AE"), 19 l.addColorStop(1,n.colorStop||"#17B"); 20 for(var c=n.bubbles||Math.floor(.02*(e+a)), 21 u=[],d=0;d<c;d++)u.push({f:(n.bubbleFunc||function(){return"hsla(0, 0%, 100%, "+.1*o()+")"}).call(), 22 x:o()*e, 23 y:o()*a, 24 r:(n.radiusFunc||function(){return 4+o()*e/25}).call(), 25 a:(n.angleFunc||function(){return o()*Math.PI*2}).call(), 26 v:(n.velocityFunc||function(){return.1+.5*o()}).call()}); 27 !function t(){if(null===r.parentNode)return cancelAnimationFrame(t); 28 !1!==n.animate&&requestAnimationFrame(t), 29 i.globalCompositeOperation="source-over", 30 i.fillStyle=l, 31 i.fillRect(0,0,e,a), 32 i.globalCompositeOperation=n.compose||"lighter", 33 u.forEach(function(t){i.beginPath(), 34 i.arc(t.x,t.y,t.r,0,2*Math.PI), 35 i.fillStyle=t.f,i.fill(), 36 t.x+=Math.cos(t.a)*t.v,t.y+=Math.sin(t.a)*t.v,t.x-t.r>e&&(t.x=-t.r), 37 t.x+t.r<0&&(t.x=e+t.r),t.y-t.r>a&&(t.y=-t.r),t.y+t.r<0&&(t.y=a+t.r) 38 }) 39 }() 40};

追記
var l=i.createLinearGradient(0,0,e,a);

var l=i.createLinearGradient(0,0,0,a);
とすることで縦のグラデーションにする事が出来ました。

さらに、ページ全体の高さでグラデーションを掛けるにはどうしたら良いでしょうか?
自分でなんとかできないかと思って検索して
a=r.height=window.innerHeight,
の部分を
a=r.height=document.documentElement.scrollHeight,

a=r.height=Math.max.apply( null, [document.body.clientHeight , document.body.scrollHeight, document.documentElement.scrollHeight, document.documentElement.clientHeight] ),
としてみましたが希望通りになりませんでした。
どのようにしたらいいでしょうか?

https://qiita.com/dokkoisho/items/2bfe259ec87c00e4bd98
http://css-eblog.com/javascript/javascript-contents-height.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

var l=i.createLinearGradient(0,0,e,a);の部分だと思います。パラメータの入れ替えをするなどしてみてはいかがでしょうか?

参考:
CanvasRenderingContext2D.createLinearGradient() - Web APIs | MDN

投稿2020/12/03 03:14

Lhankor_Mhy

総合スコア36960

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問