2016-10-13 1 views
0

У меня есть функция jQuery, которая не работает в Safari, и тот, который я только что снял с вопроса о переполнении стека.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 вместо .он («щелчок») в первом примере, только разные, я не сделал массив и т.д. в секунду - просто хотел сначала проверить его функциональность.

Почему это?

+0

'on (" click ", function ...' и '.click (function ...' в основном то же самое – epascarello

+1

Ваш второй код отличается от первого, так как у вас нет '$ (" html, body ")' – epascarello

+0

Хорошо, но первый код работает в Firefox, но не в Safari, и второй код работает в обоих. – greatbow

ответ

0

Линия

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

должен быть

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

как пример, который работает.

+0

Как я могу назвать это как ответ? – greatbow

+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^