画面幅に応じてjavascriopt(jQuery)を変更する。
画面幅を変えてもアニメーションが切り替わらない(ブラウザを更新すれば変わる)
該当のソースコード
Javascript
1const mediaQuery=window.matchMedia('(min-width:769px)') 2function handleTableChange(e){ 3 if(e.matches){ 4 //jQueryの処理 5$(function(){ 6 7 $("#bg-img").fadeIn(3000); 8$(".smartheader button").hide(); 9$("header nav ul").show(); 10 $(".pink p").hover(function(){ 11 $(this).animate({"padding":"80px 60px"},300), 12 $("body").append('<div class="designtrip"></div>'), 13 $("body").append('<div class="design"><p></p></div>'); 14 $(".design").css("top",$(this).offset().top+$(this).parent().height()+100); 15 $(".design").css("left","270px"); 16 $(".designtrip").css("left",$(this).offset().left+70); 17 $(".designtrip").css("top",$(this).offset().top+$(this).parent().height()+52); 18 19 $(".design p").html($(this).parent().attr("alt")); 20 21 },function(){ 22 $(this).animate({"padding":"60px 40px"},300), 23 $(".design").fadeOut(300),$(".designtrip").fadeOut(300); 24 $("design").remove(), 25 $("designtrip").remove(); 26 }); 27 $(".yellow p").hover(function(){ 28 $(this).animate({"padding":"80px 40px"},300), 29 $("body").append('<div class="designtrip"></div>'), 30 $("body").append('<div class="design"><p></p></div>'); 31 $(".design").css("top",$(this).offset().top+$(this).parent().height()+100); 32 $(".design").css("left","270px"); 33 $(".designtrip").css("left",$(this).offset().left+58); 34 $(".designtrip").css("top",$(this).offset().top+$(this).parent().height()+52); 35 $(".design p").html($(this).parent().attr("alt")); 36 37 },function(){ 38 $(this).animate({"padding":"60px 20px"},300), 39 $(".design").fadeOut(300),$(".designtrip").fadeOut(300); 40 $("design").remove(), 41 $("designtrip").remove(); 42 }); 43 $(".blue p").hover(function(){ 44 $(this).animate({"padding":"80px 50px"},300), 45 $("body").append('<div class="designtrip"></div>'), 46 $("body").append('<div class="design"><p></p></div>'); 47 $(".design").css("top",$(this).offset().top+$(this).parent().height()+100); 48 $(".design").css("left","270px"); 49 $(".designtrip").css("left",$(this).offset().left+40); 50 $(".designtrip").css("top",$(this).offset().top+$(this).parent().height()+52); 51 $(".design p").html($(this).parent().attr("alt")); 52 53 },function(){ 54 $(this).animate({"padding":"60px 30px"},300), 55 $(".design").fadeOut(300),$(".designtrip").fadeOut(300); 56 $("design").remove(), 57 $("designtrip").remove(); 58 }); 59 // work 60 $(".workimg a").append("<div>"); 61 $(".workimg a div").each(function(){ 62 $(this).html("<p>"+$(this).parent().children("img").attr("alt")+"</p>"); 63 $(this).children("p").css("top",$(this).height()/3); 64 }); 65 $(".workimg a").hover(function(){ 66 $(this).children("div").stop().fadeIn(); 67 },function(){ 68 $(this).children("div").stop().fadeOut(); 69 }); 70 71// contact 72$(".alert").hide(); 73$(".button").click(function(){ 74 var sendFlag=true; 75 if(!$(".name").val()){ 76 $(".form-text .alert").show(); 77 78 sendFlag=false; 79 } 80 else{ 81 $(".form-text .alert").hide(); 82 } 83 if(!$("#email").val()){ 84 $(".form-mail .alert").show(); 85 sendFlag=false; 86 } 87 else{ 88 $(".form-mail .alert").hide(); 89 } 90 91 if(!$("#message").val()){ 92 $(".form-message .alert").show(); 93 sendFlag=false; 94 } 95 else{ 96 $(".form-message .alert").hide(); 97 } 98 99 if(sendFlag==false){ 100 return false; 101} 102}); 103 104}); 105} 106} 107else{ 108 //jQueryの処理 109//HOME 110$("header button").show(); 111$("header button").click(function(){ 112 $("nav ul").stop().slideToggle(200); 113 $("form .button").css("left",$(window).width()/2-$("form .button").width()/2); 114}); 115 116 117// contact 118$(".alert").hide(); 119$(".button").click(function(){ 120 var sendFlag=true; 121 if(!$(".name").val()){ 122 $(".form-text .alert").show(); 123 124 sendFlag=false; 125 } 126 else{ 127 $(".form-text .alert").hide(); 128 } 129 if(!$("#email").val()){ 130 $(".form-mail .alert").show(); 131 sendFlag=false; 132 } 133 else{ 134 $(".form-mail .alert").hide(); 135 } 136 137 if(!$("#message").val()){ 138 $(".form-message .alert").show(); 139 sendFlag=false; 140 } 141 else{ 142 $(".form-message .alert").hide(); 143 } 144 145 if(sendFlag==false){ 146 return false; 147} 148}); 149 150}); 151 152 153} 154} 155mediaQuery.addListener(handleTableChange) 156handleTableChange(mediaQuery) 157
あなたの回答
tips
プレビュー