2016-10-13 9 views
0

私はSafariで動作しないjQuery関数と、基本的にスタックオーバーフローの問題から取り上げたものを持っています。jQuery - Safariのクリック互換性クエリ

私はちょうど興味があります、なぜこれは動作しないと、他はしないのですか?

$(function(){ 
$("div.polycontainer").children().on("click", function(){ 
    var index = $(this).index(); 
    var time = [500, 600, 700]; 
    var element = ["div.servicesHeader", "div.developmentHeader", "div.aboutHeader"]; 
    var show = $(element[index]).offset().top; 
    $('html').animate({scrollTop: (show) - 115}, (time[index])); 
    }); 
    }); 

これは動作します。

$("#fromTHIS").click(function() { 
    $("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500); 
    return true; 
}); 

私は異なる私は第二の配列等を行っていないが、最初の例では(「クリック」).click使用代わりに.on試みまず機能をテストしたいだけです。

これはなぜですか?

+0

'on(" click "、function ...'と '.click(function ...)'は基本的に同じものです – epascarello

+1

'$(" html、 " – epascarello

+0

最初のコードはFirefoxでは動作しますがSafariは動作せず、2番目のコードは両方で動作します – greatbow

答えて

0

作品の例のように

$('body, html').animate({scrollTop: (show) - 115}, (time[index])); 

にする必要がある

ライン

$('html').animate({scrollTop: (show) - 115}, (time[index])); 
に。

+0

答えとして引用するにはどうすればいいですか? – greatbow

+0

http://stackoverflow.com/help/someone-answers – epascarello