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で失敗する理由は何ですか?
両方のMacのSafariの同じバージョンを持っていません見て – Ferrybig