scrollTop не работает на IE11
Вы правы, в Stackru существует множество похожих запросов, но, прочитав / проанализировав как минимум 20, я не нашел правильного ответа. Я проверил, что мой сценарий содержал
$('body,html').animate({scrollTop:$(this).offset().top},800);
вместо
$("body").animate({scrollTop:$(this).offset().top},800);
как указано здесь: scrollTop не работает на Firefox и IE? но безрезультатно. Я также попробовал несколько других модификаций, которые остановили его работу во всех браузерах.
Хотя скрипт работает безупречно во всем, что я проверял (Chrome, Firefox, Opera), он не работает должным образом в Windows 8.1 / IE11. Следует скрыть #featuring_wrap, показать #DIV_X и прокрутить до него. Делает все, кроме свитка. Боковые панели становятся выше, но не переходят в DIV.
Я прочитал в другом посте здесь, что jQuery v1.x был для <= IE8 и v2.x был для>= IE10. Может ли это быть виновником? Надеюсь, что нет - я уже пробовал использовать v2.1.1, но все остальное на странице перестало работать (слайдер, другие функции скрытия / отображения).
Вот две версии сценария. Первое, что я использую. Нет разницы, когда я использую вторую версию.
$(document).ready(function(){
$("#featured-product-nav a").click(function(){
$("#featuring_wrap").hide();
var id = $(this).attr('id');
id = id.split('_');
$("#divs_container > div").removeClass("active");
$("#divs_container > #div_"+id[1]).addClass("active");
$("#divs_container > div:not(.active)").slideUp();
$("#divs_container > div.active").slideToggle(function(){
$('body,html #divs_container > #div_"+id[1]').animate({
scrollTop: $("#div_"+id[1]).offset().top
}, 800);
});
});
return false
});
$(document).ready(function(){
$("#featured-product-nav a").click(function(){
$("#featuring_wrap").hide();
var id = $(this).attr('id');
id = id.split('_');
$("#divs_container div").removeClass("active");
$("#divs_container #div_"+id[1]).addClass("active");
$("#divs_container div:not(.active)").slideUp();
if($("#divs_container #div_"+id[1]).hasClass("open")){
$("#divs_container #div_"+id[1]).removeClass("open").slideUp();
}
else{
$("#divs_container .open").slideUp().removeClass("open");
$("#divs_container #div_"+id[1]).addClass("open").slideDown();
$('body,html #divs_container #div_"+id[1]').animate({
scrollTop: $("#div_"+id[1]).offset().top
}, 800);
}
});
});
Живой код здесь: http://www.healthfirst.com/dental-waste/Sharps-Recovery-Dental/index.html
Какие-либо предложения?