【目的】
各pタグ毎に効かせたいのでeachを使っています。
・ウィンドウサイズが640より大きければprependToを使い、小さければapendToを使いたいです。
・ロード時、リサイズ時、どちらも対応したいです。
【背景】
・wordpressから出力された時にpタグがdivに内包される仕様があり、そのdivの次のimg要素をdivの中に入れてやる必要がありました。ブラウザ上のリサイズ時にもリアルタイムで反映させたいのです。
現在下記のようなソースにしています。
javascript
1 2var windowSize = window.innerWidth; 3var switchPoint = 640; 4 5$(window).on('load resize',function(){ 6 7$('#content p').each(function(i){ 8 if(windowSize > switchPoint){ 9 $(this).parent('div').next('img').prependTo($(this).parent('div')); 10 }else{ 11 $(this).parent('div').next('img').apendTo($(this).parent('div')); 12 } 13}); 14 15}); 16
each無しであれば正常に動くのですが、eachを使うとうまく動いてくれません。
よろしくお願いいたしますm(__)m
【①追記】
情報不足で申し訳ございません!
HTMLは下記のように変化してほしく思います。
通常
html
1<div id="content"> 2 3<div> 4 <p></p> 5</div> 6<img src=""> 7 8</div>
ウィンドウサイズが640px以上の場合
pを内包しているdivの次のimg要素をpの前に移動。
html
1 2<div id="content"> 3 4<div> 5 <img src=""> 6 <p></p> 7</div> 8 9</div>
ウィンドウサイズが640px以下の場合
pを内包しているdivの次のimg要素をpの後に移動。
html
1<div id="content"> 2 3<div> 4 <p></p> 5 <img src=""> 6</div> 7 8</div>
尚、コンソールエラーは確認してみたところありませんでした。
回答2件
あなたの回答
tips
プレビュー