
2つの背景画像を切り替えるスクリプトを一つのページに設定しており、どちらも別のページに設置すると、iPhoneでも正常に動作するため、競合を疑っています。
おかしな挙動をするのは下記コードのfunction gazou(n){
のみです。ボタンをダブルタップする必要があり、ワンタップで機能しません。Androidとパソコンでは正常に動きます。お分かりになる方いらっしゃいますでしょうか。chatGPTにも聞いてみましたが解決せずで困っております。
よろしくお願い致します。
【javascript】
function gazou(n){
if(n==0)
document.body.style.backgroundImage="url(bg1.jpeg)";
if(n==1)
document.body.style.backgroundImage="url(bg2.jpeg)";
if(n==2)
document.body.style.backgroundImage="url(bg3.jpeg)";
if(n==3)
document.body.style.backgroundImage="url(bg4.jpeg)";
if(n==4)
document.body.style.backgroundImage="url(bg5.jpeg)";
if(n==5)
document.body.style.backgroundImage="url(bg6.jpeg)";
if(n==6)
document.body.style.backgroundImage="url(bg7.jpeg)";
if(n==7)
document.body.style.backgroundImage="url(bg8.jpeg)";
if(n==8)
document.body.style.backgroundImage="url(bg9.jpeg)";
if(n==9)
document.body.style.backgroundImage="url(bg10.jpeg)";
if(n==10)
document.body.style.backgroundImage="url(bg11.jpeg)";
}
【html】
<form name="henkou">
<input type="button" value="A" onclick="gazou(0)">
<input type="button" value="B" onclick="gazou(1)">
<input type="button" value="C" onclick="gazou(2)">
<input type="button" value="D" onclick="gazou(3)">
<input type="button" value="E" onclick="gazou(4)">
<input type="button" value="F" onclick="gazou(5)">
<input type="button" value="G" onclick="gazou(6)">
<input type="button" value="H" onclick="gazou(7)">
<input type="button" value="I" onclick="gazou(8)">
<input type="button" value="J" onclick="gazou(9)">
<input type="button" value="K" onclick="gazou(10)">
</form>
<button onclick="mybg()">ボタンの文字</button>
<script>
const arr = ["gazou1.webp","gazou2.webp","gazou3.webp"];
let cnt = 0;
function mybg() {
const bodys = document.querySelectorAll('main');
bodys[0].style.backgroundImage = 'url(' + arr[ cnt % arr.length ] + ')';
cnt++;
}
</script>
【CSS】
body {
background-color: transparent!important;
background-repeat: no-repeat!importan;
background-position: center center!important;
background-size: cover!important;
background-attachment: fixed!important;
}
.main {
background-color: transparent!important;
border-color:transparent!important;
background:url("gazou3.webp");
background-repeat: no-repeat;
background-position: center center!important;
background-size: contain!important;
position:relative!important;
background-attachment: fixed!important;
height:150vh!important;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのエラーで質問です。 2 2024/02/03 18:52
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript HTMLとJavaScriptで作った表示して検索するWebアプリが正常に動かない 3 2024/01/05 17:48
- JavaScript JavaScriptで作ったアプリが正常に動作しない。改善したい。 3 2024/01/06 16:33
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- JavaScript HTMLとJavaScriptで作ったタイマーアプリが正常に動作しない 7 2023/12/15 19:32
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptのfileオブジェクト...
-
CHECKBOXとTEXTBOXのnameが同じ...
-
困っています。
-
formのfileの値をhiddenでも持...
-
数値以外はテキストボックスに...
-
vbscriptでIE自動入力(コンボ...
-
VB.NETで<Input>タグ、<text...
-
fileUploadオブジェクトへの値...
-
Javascriptで'(シングルクォー...
-
innerHTML内では改行は禁止?
-
onClickがinput type="image"だ...
-
onchangeイベントを強制的に発...
-
リンクの追加
-
javaScriptの変数をJavaの変数...
-
return trueとreturn falseの用...
-
HTMLの表示内容にfor文を使...
-
Selectボックスの幅を自動で広...
-
プルダウンメニューのvalue値を...
-
ラジオボタンにタブインデック...
-
表の値をすべて書き込みたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavaScriptのfileオブジェクト...
-
クリックさせたいが、click()が...
-
javaScriptの変数をJavaの変数...
-
innerHTML内では改行は禁止?
-
VB.NETで<Input>タグ、<text...
-
BackSpaceしたい(QNo.2734284の...
-
formのfileの値をhiddenでも持...
-
onclickが動作しない
-
ボタンかリンクをクリックする...
-
WordpressのCocoonというテーマ...
-
フォームのNAMEを変数に格納し...
-
JavaScriptでの足し算処理について
-
インラインフレームから親ウィ...
-
タグ実験で
-
リスト追加
-
localStorage
-
javascriptでtextareaに文字列...
-
onClickがinput type="image"だ...
-
ボタンで配列に代入
おすすめ情報
自己解決しました。Wordpressの固定ページに設置したため、テーマのjsとコンフリクトしていた様です。このページだけ初期ドメインに移動させて解決しました。解決済みにしたいのですがやり方がわからないので放置します。