質問: target.offset().top-headerHight; jQuery('body,html').animate({scrollTop:position}, speed, 'swing'); return false; }); }); ### 試したこと ほかのスムーズスクロールや配布されているjQuery(smoothScoll.jsなど)も試しましたが、 こちらも動きませんでした。
回答: 拝見した感じ、問題ないように見えます。 (`jQuery('a[href^=#]'+'a:not(".carousel-control")')`は `jQuery('a[href^=#]:not(".carousel-control")')`の方が良いと思いますが。) さらに、配布されているプラグイン等も iOS版Safariだけ動かないということであれば、 HTML側に原因があるのかもしれません。 ※問題ないとは思いますが、お手持ちのsafariが javascriptを使える設定かも確認してみてください。 もしMacをお持ちでしたら、iPhoneと繋げば、 Mac版Safariで詳しく動作を確認することができます。 参考:http://www.islog.jp/entry/ios-safari-web-inspecter/ 環境を用意するのが難しければ、以下のようにalertを付けることで、 簡易的ではありますが、状況を推測することもできます。 ``` jQuery(document).ready(function(){ var headerHight = 0; alert('読み込みはできている'); jQuery('a[href^=#]'+'a:not(".carousel-control")').click(function(){ alert('クリックもできている'); var speed = 400; var href= jQuery(this).attr("href"); var target = jQuery(href == "#" || href == "" ? 'html' : href); var position = target.offset().top-headerHight; jQuery('body,html').animate({scrollTop:position}, speed, 'swing'); alert('スクロール処理も働いてはいる'); return false; }); }); ``` ダイレクトな解決策でなく恐縮ですが......。 ご参考までに!