読者です 読者をやめる 読者になる 読者になる

また1からこつこつと

最高はひとつじゃないと信じてまたがんばります。

GoogleChromeでjQueryのバージョンによって、2つの処理ができたりできなかったり

プログラミング Web

ちょっと不思議に思ったのでメモ

学校の情報の課題でWebページを製作しているのだけれど、そのなかでjQueryのfadeIn()と、スクロールをかっこよくしてくれるコードを2つ使った。

いざ、動かしてみようと思ったら、fadeIn()は動くけどスクロールのほうは動かない。

ちなみにタイトルにもあるとおりGoogleChromeで動作せず、Safariだと正常に動いた。

jQueryのバージョンは2.2.0

コードはこんなかんじ

<script>
//フェードインのエフェクト
$(document).ready(function() {
	$('body').fadeIn(2000);
});
//スクロール
$(function(){
	$('a[href^=#]').click(function() {
                var speed = 700;
                var href= $(this).attr("href");
               	var target = $(href == "#" || href == "" ? 'html' : href);
                var position = target.offset().top-50;
                $('body,html').animate({scrollTop:position}, speed, 'swing');
                return false;
  });
});
</script>

おかしいなぁと思ってjQueryのバージョンを変えてみた。
ver1.11.2だと同じように動作せず...
ver1.12x系も同じく

ところが、ver1.11.3だと正常に動作した!

jQuery自体をあまり知らないのでこの差はよくわからないんだけど、この小さなマイナーアップデートの間になにがあったんだと思った