teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

説明文の追加

2019/10/17 01:05

投稿

nakajima4
nakajima4

スコア11

title CHANGED
File without changes
body CHANGED
@@ -58,4 +58,62 @@
58
58
 
59
59
  })
60
60
  });
61
+ ```
62
+
63
+ 下記のコードの通り条件分岐を追加したらリサイズはうまくいくようになったのですが、画面幅を変えた時にしかスクリプトが動かずにいます。
64
+ load resizeをつけているのですがどこが間違っているのかわからずにいます。
65
+
66
+
67
+ ```javascript
68
+ jQuery(function ($) {
69
+ $(window).on('load resize', function(){
70
+  
71
+ var $windowWidth = window.innerWidth
72
+ var $breakPointA = 560; //画像を差し替えを実行するウィンドウサイズ
73
+ var $breakPointB = 959;
74
+ var isMobileSize = ($windowWidth < $breakPointA);
75
+ var isTabletSize = ($windowWidth <= $breakPointB) && ($windowWidth > $breakPointA);
76
+ var isPcSize = ($windowWidth > $breakPointB);
77
+
78
+ if (isTabletSize) {
79
+
80
+ var before = 'pc_',
81
+ before2 = 'mb_',
82
+ after = 'tb_';
83
+
84
+ replaceImg();
85
+
86
+ } else if (isMobileSize) {
87
+
88
+ var before = 'tb_',
89
+ before2 = 'tb_',
90
+ after = 'mb_';
91
+
92
+ replaceImg();
93
+
94
+ } else if (isPcSize) {
95
+
96
+ var before = 'tb_',
97
+    before2 = 'mb_',
98
+ after = 'pc_';
99
+
100
+ replaceImg();
101
+
102
+ }
103
+
104
+ function replaceImg(){
105
+    $('.tb[src*=pc_],.tb[src*=tb_],.tb[src*=mb_]').each(function(){
106
+ var img = $(this).attr('src').replace(before, after);
107
+ var img2 = $(this).attr('src').replace(before2, after);
108
+ if( $(this).attr('src').match(before) ) {
109
+ $(this).attr('src', img);
110
+ }
111
+ else if( $(this).attr('src').match(before2) ) {
112
+ $(this).attr('src', img2);
113
+ }
114
+ });
115
+ }
116
+
117
+ })
118
+ });
61
119
  ```

2

説明文追加

2019/10/17 01:04

投稿

nakajima4
nakajima4

スコア11

title CHANGED
File without changes
body CHANGED
@@ -4,6 +4,7 @@
4
4
  スマホサイズの559pxまでとタブレットの559〜959px、PCサイズの960px以上の三つでサイズ調整がうまくいきません。
5
5
  スクリプトもあまり詳しくないためどこを書き換えていいかがわからずにいます。
6
6
  スマホではファイルの先頭をmb_、タブレットではtb_、パソコンではpc_に変えてレスポンシブで画像を変更できるような動きをするためにはどのようにすれば良いのでしょうか?
7
+ 現状の動きですと、pcからtb_、mb_までのブラウザサイズ変更でそぞれ画像が切り替わるのですが、ブラウザサイズを戻した際に画像の切り替えができずどのサイズでもmb_のままになってしまいます。
7
8
 
8
9
  説明が苦手で申し訳ありませんが、ご教授していただけると助かります。
9
10
  ```html

1

説明文変更

2019/10/17 00:27

投稿

nakajima4
nakajima4

スコア11

title CHANGED
File without changes
body CHANGED
@@ -5,8 +5,6 @@
5
5
  スクリプトもあまり詳しくないためどこを書き換えていいかがわからずにいます。
6
6
  スマホではファイルの先頭をmb_、タブレットではtb_、パソコンではpc_に変えてレスポンシブで画像を変更できるような動きをするためにはどのようにすれば良いのでしょうか?
7
7
 
8
- 現状の動きはブラウザ幅をpcからスマホサイズまで縮めるとファイルが変化するのですが、ブラウザ幅を元に戻すとモバイルサイズのmb_のまま可変しなくなってしまいます。
9
-
10
8
  説明が苦手で申し訳ありませんが、ご教授していただけると助かります。
11
9
  ```html
12
10
  <img src="pc_test" class="tb">