PCサイトをスマホで読み込んだ場合に、特定の画像を小さいサイズに置換して表示したいのですが、色々調べたところ、jQueryで画像置換ができるというサンプルがあったので用いたのですが、上手くいきません。
都合上、スマホ専用サイトを作成するという方針ではありません。
よって、所どころ画像置換する必要があり、どうしても実現させたいのです。
サンプルスクリプトは以下の通りです。
if文は他のスクリプトでも使用しており動いているので、合っていると思っています。
何がいけないのでしょうか?
--------------------------------------------------------------------
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>画像置換</title>
<script src="js/jquery.js"></script>
<script>
if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
$('h1>img').attr('src', 'images/aaa.jpg').attr('width', '320').attr('height', '50');
}
</script>
</head>
<body>
<header>
<h1><a href="index.html"><img src="images/bbb.gif" width="700" height="100" alt="hoge" /></a></h1>
<header>
</body>
</html>
--------------------------------------------------------------------
ちなみに、構文エラーは出ません。
サンプルスクリプトの出所は
http://ascii.jp/elem/000/000/561/561127/index-3. …
で、スクリプトの内容は以下の通りでした。
if ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) {
$('h1>img').attr('src', '_images/ttl_main_mini.png').attr('width', '665').attr('height', '217');
}
おわかりになる方、ぜひアドバイスください。お願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
DOM構築前に画像の設定を変えようとしているから動かないんだと思います。
ようはh1の直下にあるimgが無い状態。
$().ready ( function() {
if (
(navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) ||
navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0) {
$('h1>img').attr('src', 'images/aaa.jpg').attr('width', '320').attr('height', '50');
}
});
こうすることにより全て構築後に呼び出されますのでh1>imgが存在することとなり、大きさ等変更できると思います。
ご回答ありがとうございます!
試したところ、ちゃんと動きました。
よく理解しないまま使おうとしていたのがいけなかったです。
勉強になりました。
どうもプログラムは苦手で、躓いてばかりです。
もっと勉強していきます。
本当にありがとうございました。
No.1
- 回答日時:
よくわかってませんが…
>'h1>img'
は、h1要素直下の画像要素を意味すると思いますが、ご提示のソースには該当するものがないのでは?
'h1 img' とかにすれば一応動作すると思いますが…
この回答への補足
早速のご回答ありがとうございます。
> >'h1>img'
> は、h1要素直下の画像要素を意味すると思いますが、ご提示のソースには該当するものが
> ないのでは?
との事ですが、<a>タグが邪魔だということでしょうか?
なお、実際には以下の通りでした。間違えておりました。すみません。
<h1><img src="images/bbb.gif" width="700" height="100" alt="hoge" /></h1>
試してみましたが、残念ながら動きませんでした。
javascriptは詳しい方ではないので、見当違いな事を書いていたらすみません。
引き続き何かアドバイスいただけたらお願いいたします。
ご回答ありがとうございました。
LancerVIIさんと同じようなことを仰られていたのですね。
理解が足らずすみませんでした。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS htmltとcssの連携をして画像縮小について 1 2022/11/15 20:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaScriptで変更した属性の元...
-
複数画像のランダム複数表示(...
-
MFCで画像を表示させているので...
-
error LNK2019 未解決のシンボ...
-
imgボタンにfocusの当て方
-
jQueryで、画像クリック→フェー...
-
OpenCV での画素値の比較について
-
jQuery 複数のfind()
-
セクトボックスの連携の仕方。
-
以下のタグはクリックすると画...
-
画像処理 C言語 元画像の幅...
-
Javaの正規表現でimgタグのalt...
-
画像が表示でnull; this.src
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
jqueryのsortableで一部ソート...
-
removeEventListenerについて
-
Slick.jsのオプションrtlについて
-
どの<li><a> が押されたか判別...
-
クリックで色変更後に既に変更...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavaScriptで変更した属性の元...
-
MFCで画像を表示させているので...
-
画像が表示でnull; this.src
-
error LNK2019 未解決のシンボ...
-
Vb.net2005での画像の合成方法
-
onclickで画面が固まる・・・ら...
-
リンク先を動的に変更する
-
(javascript)HTMLで指定した...
-
【OpenCV】二値画像後、白の部...
-
jQuery 複数のfind()
-
ラズパイでno module named zbar
-
外部javascriptの重複を防ぐには
-
条件分岐でキーが入力されてい...
-
かぶらないランダム画像
-
HTMLからimgのsrcのみを正規表...
-
pythonで、tkinterとpillowの組...
-
OpenCV での画素値の比較について
-
imgボタンにfocusの当て方
-
指定したフォルダの画像を一括...
-
OpenCVでサンプルコードを使う...
おすすめ情報