\r\n\r\n\r\n\r\n```\r\n setInterval(\"dsp.style.opacity^=2,1000\");\r\nの opacity^=2 が理解できません。","answerCount":2,"upvoteCount":0,"datePublished":"2020-04-27T05:46:39.515Z","dateModified":"2022-01-12T10:55:45.698Z","suggestedAnswer":[{"@type":"Answer","text":"排他的論理和、というのは、1となっているビットを反転するもの、と覚えておきましょう\r\n\r\nなんやかや ^=2\r\n\r\nという式は、なんやかや、のbit1を反転させます","dateModified":"2020-04-27T05:51:34.785Z","datePublished":"2020-04-27T05:51:34.785Z","upvoteCount":0,"url":"https://teratail.com/questions/256847#reply-369805","comment":[{"@type":"Comment","text":"なんやかや^=2 は やかやんな になるということでしょうか。","datePublished":"2020-04-27T07:19:14.545Z","dateModified":"2020-04-27T07:19:14.545Z"},{"@type":"Comment","text":"なんやかやが0の場合は2となります\r\nなんやかやが2の場合は0となります\r\n\r\nましかし、\r\n\r\nなんやかやが1の場合は3となります\r\nなんやかやが3の場合は1となります\r\n\r\nということですねw","datePublished":"2020-04-27T07:22:16.414Z","dateModified":"2020-04-27T07:22:16.414Z"}]},{"@type":"Answer","text":"> setInterval(\"dsp.style.opacity^=2,1000\"); は\r\n透明化されているか、透明化されていないかを1000ミリ秒ごとに表示させると考えれば良いのでしょうか。\r\n\r\nいえ、根本的にコードがおかしいかと思います。`opacity`として有効な値は**0以上1以下**なので([MDN](https://developer.mozilla.org/ja/docs/Web/CSS/opacity))、`2`をxorするのでは意味が通りません。","dateModified":"2020-04-27T05:49:37.904Z","datePublished":"2020-04-27T05:49:37.904Z","upvoteCount":1,"url":"https://teratail.com/questions/256847#reply-369804","comment":[{"@type":"Comment","text":"この記述で動作するんですが・・・。","datePublished":"2020-04-27T07:19:53.786Z","dateModified":"2020-04-27T07:19:53.786Z"},{"@type":"Comment","text":"それ以前に、setIntervalの引数としてもおかしいです(引数が最低2つ必要です)。","datePublished":"2020-04-27T07:37:32.879Z","dateModified":"2020-04-27T07:37:32.879Z"},{"@type":"Comment","text":"To: beginner001 さん\r\nhttps://triple-underscore.github.io/css-color-ja.html#typedef-alpha-value\r\n> これらの範囲外の値も無効ではないが、算出値の時点で ここで定義した範囲に切り詰められる。\r\n\r\n範囲外は算出値に切り詰められます。\r\nそのロジックを知った上で、あえて範囲外を指定しているのでしょうか。","datePublished":"2020-04-27T07:44:12.545Z","dateModified":"2020-04-27T07:44:12.545Z"},{"@type":"Comment","text":"いいえこの理屈は全く知りませんでした。","datePublished":"2020-04-27T22:12:58.190Z","dateModified":"2020-04-27T22:12:58.190Z"}]}],"breadcrumb":{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https://teratail.com","name":"トップ"}},{"@type":"ListItem","position":2,"item":{"@id":"https://teratail.com/tags/JavaScript","name":"JavaScriptに関する質問"}},{"@type":"ListItem","position":3,"item":{"@id":"https://teratail.com/questions/256847","name":"opacity^=2の排他的論理値について"}}]}}}
質問するログイン新規登録

Q&A

2回答

922閲覧

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

beginner001

総合スコア29

JavaScript

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

0グッド

0クリップ

投稿2020/04/27 05:46

編集2020/04/27 22:17

0

0

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

総合スコア146853

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

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

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

総合スコア88188

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

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

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.29%

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

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

質問する

関連した質問