🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

Q&A

解決済

1回答

1148閲覧

画像が重なったらある部分を点滅

543

総合スコア15

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

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

1グッド

0クリップ

投稿2019/09/26 03:19

編集2019/09/29 03:12

参考内容をもとに
ドットで表示した位置が画像で表示されるものになっています
2枚の画像を用意し画像を重ねた時
違った位置にドットがある場合に重なっていない部分のドットを点滅するようにすることを目指しています

自身でやると画像そのものを点滅することしかできません.

解決方法お分かりの方いましたらよろしくお願いいたします.
下記の一部分のコードは2つ画像選択できるのですが,1つのみ移動させて重ねるものになっています.画像は透過したもので下の部分が見える形になっています.
アドバイスいただけましたらよろしくお願いいたします.

css

1 2.drag-and-drop { 3 cursor: move; 4 position: absolute; 5 z-index: 1000; 6} 7 8.drag { 9 z-index: 1001; 10} 11 12

js

1(function(){ 2 3 //要素の取得 4 var elements = document.getElementsByClassName("drag-and-drop"); 5 6 //要素内のクリックされた位置を取得するグローバル(のような)変数 7 var x; 8 var y; 9 10 //マウスが要素内で押されたとき、又はタッチされたとき発火 11 for(var i = 0; i < elements.length; i++) { 12 elements[i].addEventListener("mousedown", mdown, false); 13 elements[i].addEventListener("touchstart", mdown, false); 14 } 15 16 //マウスが押された際の関数 17 function mdown(e) { 18 19 //クラス名に .drag を追加 20 this.classList.add("drag"); 21 22 //タッチデイベントとマウスのイベントの差異を吸収 23 if(e.type === "mousedown") { 24 var event = e; 25 } else { 26 var event = e.changedTouches[0]; 27 } 28 29 //要素内の相対座標を取得 30 x = event.pageX - this.offsetLeft; 31 y = event.pageY - this.offsetTop; 32 33 //ムーブイベントにコールバック 34 document.body.addEventListener("mousemove", mmove, false); 35 document.body.addEventListener("touchmove", mmove, false); 36 } 37 38 //マウスカーソルが動いたときに発火 39 function mmove(e) { 40 41 //ドラッグしている要素を取得 42 var drag = document.getElementsByClassName("drag")[0]; 43 44 //同様にマウスとタッチの差異を吸収 45 if(e.type === "mousemove") { 46 var event = e; 47 } else { 48 var event = e.changedTouches[0]; 49 } 50 51 //フリックしたときに画面を動かさないようにデフォルト動作を抑制 52 e.preventDefault(); 53 54 //マウスが動いた場所に要素を動かす 55 drag.style.top = event.pageY - y + "px"; 56 drag.style.left = event.pageX - x + "px"; 57 58 //マウスボタンが離されたとき、またはカーソルが外れたとき発火 59 drag.addEventListener("mouseup", mup, false); 60 document.body.addEventListener("mouseleave", mup, false); 61 drag.addEventListener("touchend", mup, false); 62 document.body.addEventListener("touchleave", mup, false); 63 64 } 65 66 //マウスボタンが上がったら発火 67 function mup(e) { 68 var drag = document.getElementsByClassName("drag")[0]; 69 70 //ムーブベントハンドラの消去 71 document.body.removeEventListener("mousemove", mmove, false); 72 drag.removeEventListener("mouseup", mup, false); 73 document.body.removeEventListener("touchmove", mmove, false); 74 drag.removeEventListener("touchend", mup, false); 75 76 //クラス名 .drag も消す 77 drag.classList.remove("drag"); 78 } 79 80})() 81

html

1<div class="drag-and-drop1" id="input_img"> 2 3 </div>

現状
作成

kyoya0819👍を押しています

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

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

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

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

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

yambejp

2019/09/26 03:23 編集

サンプルは目線を入れる処理ですよね? (試してみました。たのしいーですね) 画像を重ねて点滅するのとは仕様が異なるようですが
543

2019/09/26 03:28

ご意見ありがとうございます。たしかに、そうですね。 姿勢推定のドット表示を行ったさいに、2枚の画像を重ねて位置の違いをみれたらと思ってまして、処理が間違っていましたら、申し訳ありません。
yambejp

2019/09/26 04:06

画像を重ねるソースを提示ください
kyoya0819

2019/09/26 05:55

普通に面白いですね
543

2019/09/29 03:34 編集

yambejpさん、今更なのですが、画像を重ねるソースコードを表示しました。 もしアドバイスしていただけましたらよろしくおねがいいたします。
guest

回答1

0

ベストアンサー

canvasを使うと実現できそうです。
canvas:画像の合成方法色々

リンク先にサンプルがあるので、 distination-over/distination-in を時間単位で切り替えるようなイメージになるでしょうか。

投稿2019/09/29 03:43

Kapustin

総合スコア1186

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問