transition,transform,jQueryのaddClass,removeClassを利用してサイト内でアニメーション移動を実装しているのですが、IE11ではそれがうまく実装してくれません。
調べると-webkit-,-ms-を使用すると良いということで、それを使用して再度アップしました、
こちらのコード内のclass="maker"
で指定しているところは-ms-transition,-webit-transitionで指定したところは治りました。
しかし、それ以外のところは治りませんでした。
キャッシュも削除して検証機能で確認して、しっかりcssには-ms-,-webkit-が書かれてが変わりません。
実装は下記です。
css↓
#parts{ position:relative; } .parts-back{ width:100%; height:63.68vw; } #censor-sinpaku{ position: absolute; left: 0; right: 2.7vw; margin: auto; top:6.38vw; width:30.27vw; height:9.93vw; transition-timing-function:ease-out; -webkit-transition-timing-function:ease-out; -ms-transition-timing-function:ease-out; transition-duration:1s; -webkit-transition-duration:1s; -ms-transition-duration:1s; z-index:5; } .censor-sinpaku{ transform:translateY(22.32vw); -webkit-transform:translateY(22.32vw); -ms-transform:translateY(22.32vw); } .censor-atach{ transform:translateY(10.65vw); -webkit-transform:translateY(10.65vw); -ms-transform:translateY(10.65vw); } .censor-douden{ transform:translateY(-11.24vw); -webkit-transform:translateY(-11.24vw); -ms-transform:translateY(-11.24vw); } #censor-atach-up{ position: absolute; left: 0; right: -0.2vw; margin: auto; top: 19.58vw; width: 60.2vw; height: 11.17vw; /*width:59.2vw;*/ /*height:10.77vw;*/ transition-timing-function:ease-out; -webkit-transition-timing-function:ease-out; -ms-transition-timing-function:ease-out; transition-duration:1s; -webkit-transition-duration:1s; -ms-transition-duration:1s; z-index:2; } #censor-atach{ position: absolute; left: 0; right: -0.1vw; margin: auto; top:19.65vw; width:59.2vw; height:10.77vw; transition-timing-function:ease-out; -webkit-transition-timing-function:ease-out; -ms-transition-timing-function:ease-out; transition-duration:1s; -webkit-transition-duration:1s; -ms-transition-duration:1s; z-index:4; } #censor-padd{ position: absolute; left: 0; right: 0; margin: auto; top:32.3vw; width:57.71vw; height:7.4vw; z-index:3; } #censor-douden{ position: absolute; left: 0; right: 1vw; margin: auto; top:43.54vw; width:50.21vw; height:6.04vw; z-index:1; transition-timing-function:ease-out; -webkit-transition-timing-function:ease-out; -ms-transition-timing-function:ease-out; transition-duration:1s; -webkit-transition-duration:1s; -ms-transition-duration:1s; } .parts-text{ position: absolute; left: 0; right: 0; margin: auto; top:53.36vw; } .parts-text-big{ font-size:4.23vw; font-weight: bold; display: inline; } .parts-text-small{ width:55.61vw; margin:0 auto; font-size:1.27vw; font-weight: normal; } .maker{ width:100%; opacity : 0; transform: translateY(50px); -webkit-transform: translateY(50px); -ms-transform: translateY(50px); transition: 1s; -webkit-transition: 1s; -ms-transition: 1s; } .maker-open{ opacity : 1; transform: translateY(0px); -webkit-transform: translateY(0px); -ms-transform: translateY(0px); }
こちらがそこに対応するjQueryです
$(function(){ function animation(){ $('.maker').each(function(){ //ターゲットの位置を取得 var target = $(this).offset().top; //スクロール量を取得 var scroll = $(window).scrollTop(); //ウィンドウの高さを取得 var windowHeight = $(window).height(); //ターゲットまでスクロールするとフェードインする if (scroll > target - windowHeight){ $(this).addClass('maker-open'); // $(this).css('opacity','1'); // $(this).css('transform','translateY(0)'); }else { $(this).removeClass('maker-open'); // $(this).css('opacity','0'); // $(this).css('transform','translateY(100)'); } }); } animation(); $(window).scroll(function (){ animation(); }); }); $(function(){ function animation(){ $('#censor-douden').each(function(){ //ターゲットの位置を取得 var target = $('#censor-douden').offset().top; var targetShouhin=$('#shouhin').offset().top; //スクロール量を取得 var scroll = $(window).scrollTop(); //ウィンドウの高さを取得 var windowHeight = $(window).height(); //ターゲットまでスクロールするとフェードインする if (scroll > target - windowHeight){ $('#censor-douden').addClass('censor-douden'); $('#censor-atach').addClass('censor-atach'); $('#censor-atach-up').addClass('censor-atach'); // $('#censor-douden').animate({'top':'32.3vw'},1000); // $('#censor-atach').animate({'top':'32.3vw'},1000); setTimeout(function(){ $('#censor-sinpaku').addClass('censor-sinpaku');},1000); }else if(scroll < targetShouhin - windowHeight){ $('#censor-douden').removeClass('censor-douden'); $('#censor-atach').removeClass('censor-atach'); $('#censor-atach-up').removeClass('censor-atach'); $('#censor-sinpaku').removeClass('censor-sinpaku'); } }); } animation(); $(window).scroll(function (){ animation(); }); });
補足
一応動くには動くのですが、下に移動するはずが、勢いよく上に移動してしまったたりとアニメーションが崩れている状況です。
ちなみにsafari,chrome,microsoft edgeでは、移動して欲しい位置に正常に動作してくれます。。。
どなたかわかる方おりましたら、ご教授お願いいいたします。
補足情報
<section id="parts"> <img class="parts-back pc" src="common/img/parts-back.png"> <img class="parts-back sp" src="common/img/res-parts-back.png"> <div class="parts-component"> <img id="censor-sinpaku" src="common/img/censor-sinpaku.png"> <img id="censor-atach-up" src="common/img/censor-atach1.png"> <img id="censor-atach" src="common/img/censor-atach2.png"> <img id="censor-padd" src="common/img/censor-padd.png"> <img id="censor-douden" src="common/img/censor-douden.png"> </div> <div class="parts-text text-center"> <p class="parts-text-big text-right">テキスト</p> <p class="parts-text-small text-right">テキストテキストテキスト</p> </div> </section>