2017-09-20 8 views
0

Macマシン(最新のChrome)でスムーズなスクロールスクリプトが失敗します。スムーススクロール1つのMac(Chrome)でJavascriptが失敗しますが、別のMac(Chrome)で動作します

私たちは少しスクリプトを微調整し、すべてのMacで今働いているようです。

しかし、理由はわかりません。

誰かが助けることができますか? (それはいくつかのマック/クローム試験機に正しくスクロールを滑らかにするために失敗した)前

:修正後

var topID = (ua("safari")) ? "body" : "html"; 

$(".SmoothScroll").unbind().click(function(){ 
    var link = $(this).attr("href"); 
    if(link.charAt(0)=="#" && link.charAt(1)!="") { 
     var offset = $(link).offset(); 
     var tid = setTimeout(function() { 
      $(topID).stop().animate({scrollTop: offset.top}, 800, "easeInOutCubic", function() { 
       location.href = link; 
      }); 
     }, 10); 
     return false; 
    } 
}); 

(すべてのマシン上で動作します)

//var topID = (ua("safari")) ? "body" : "html"; 
var $root = $('html, body'); 

$(".SmoothScroll").unbind().click(function(){ 
    var link = $(this).attr("href"); 
    if(link.charAt(0)=="#" && link.charAt(1)!="") { 
     var offset = $(link).offset(); 
     var tid = setTimeout(function() { 
      $root.stop().animate({scrollTop: offset.top}, 800, "easeInOutCubic", function() { 
       location.href = link; 
      }); 
     }, 10); 
     return false; 
    } 
}); 

は、基本的に$(topID)への変更します$( 'html、body')が動作しているようです。しかし、なぜ?何が起きていますか、以前のスクリプトがMac + Chromeで失敗する理由は何ですか?

+0

両方のMacのSafariの同じバージョンを持っていません見て – Ferrybig

答えて

0

あなたはおそらくとき、彼らのウェブサイト上でスムーズなスクロールを行うことはありません、(私のような)スクロールを滑らかにするために見て立つことができないユーザーがいる、彼らは頭痛を得る

関連する問題