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

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

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

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

Q&A

2回答

781閲覧

opacity^=2の排他的論理値について

beginner001

総合スコア29

JavaScript

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

0グッド

0クリップ

投稿2020/04/27 05:46

編集2020/04/27 22:17

javascript

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<title>おみくじ</title> 5 6</head> 7<body> 8<h1>おみくじ</h1> 9<input type=button value="おみくじスタート" onclick="onButtonClick()"> 10<div id="dsp"></div> 11 12 <script> 13 let kujis =["大吉","吉","中吉","小吉","末吉","凶","大凶"]; 14 let kuji = Math.floor(Math.random()*kujis.length); 15 let disp = document.getElementById("dsp"); 16 dsp.style.color="red"; 17 setInterval("dsp.style.opacity^=2,1000"); 18 19 function onButtonClick(){ 20 dsp.innerHTML = kujis[kuji]; 21 } 22   23 </script> 24 25</body> 26</html>

setInterval("dsp.style.opacity^=2,1000");
の opacity^=2 が理解できません。

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

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

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

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

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

y_waiwai

2020/04/27 05:49

このままではコードが読みづらいので、質問を編集し、<code>ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
beginner001

2020/04/27 07:17

申し訳ありませんでした。書き直しました。
kei344

2020/04/27 08:29

質問文が削除されているので、戻してください。
guest

回答2

0

setInterval("dsp.style.opacity^=2,1000"); は

透明化されているか、透明化されていないかを1000ミリ秒ごとに表示させると考えれば良いのでしょうか。

いえ、根本的にコードがおかしいかと思います。opacityとして有効な値は0以上1以下なので(MDN)、2をxorするのでは意味が通りません。

投稿2020/04/27 05:49

maisumakun

総合スコア145184

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

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

beginner001

2020/04/27 07:19

この記述で動作するんですが・・・。
maisumakun

2020/04/27 07:37

それ以前に、setIntervalの引数としてもおかしいです(引数が最低2つ必要です)。
think49

2020/04/27 07:44

To: beginner001 さん https://triple-underscore.github.io/css-color-ja.html#typedef-alpha-value > これらの範囲外の値も無効ではないが、算出値の時点で ここで定義した範囲に切り詰められる。 範囲外は算出値に切り詰められます。 そのロジックを知った上で、あえて範囲外を指定しているのでしょうか。
beginner001

2020/04/27 22:12

いいえこの理屈は全く知りませんでした。
guest

0

排他的論理和、というのは、1となっているビットを反転するもの、と覚えておきましょう

なんやかや ^=2

という式は、なんやかや、のbit1を反転させます

投稿2020/04/27 05:51

y_waiwai

総合スコア87774

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

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

beginner001

2020/04/27 07:19

なんやかや^=2 は やかやんな になるということでしょうか。
y_waiwai

2020/04/27 07:22

なんやかやが0の場合は2となります なんやかやが2の場合は0となります ましかし、 なんやかやが1の場合は3となります なんやかやが3の場合は1となります ということですねw
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問