レスポンシブサイト作ってる途中です。
ブラウザ幅がスマホ時にだけfancybox起動させたいですが、
jsくそ初心者なもので、if文が思いつかなくなりました…。
<a href="">で<div class="box_inner">を囲ったり囲わなかったりしたいです。
###発生している問題・エラーメッセージ
elseのときに<li>が消えてしまいます。。 if( w <= 570 && w )のとき、<a href>が出てきません。。。
###該当のソースコード
$(function(){ var $box= $("li .box_inner"); function spHideModal(){ var w = window.innerWidth; if( w <= 570 && w ){ $box.wrap(function(index) { return '<a href="' + $(this).children('.staff_prof img').attr('src') + '" class="modal_btn" />'; }); $(".modal_btn").fancybox(); }else{ $box.unwrap(); } } $(window).on("load resize", function(){ spHideModal(); }); });
//HTML-------------------------------------------
<li> <div class="box_inner"> <div class="bg_img"><img src="photo_01.jpg" alt="" class="photo"></div> <div class="staff_prof sp_hide"><img src="profile_01.gif" alt=""></div> <div class="staff_name pc_hide"> <p class="name">ああああああ</p> <p class="team">にゃあああああああ</p> </div> </div> </li> ``````
###試したこと
###補足情報(言語/FW/ツール等のバージョンなど)
jQuery v1.9.1
回答3件
あなたの回答
tips
プレビュー