2014-02-05 8 views
0

У меня есть полноэкранный слайдер, для которого я использую scrollintoview при изменении размера, чтобы сохранить текущий слайд по центру в окне просмотра, но по какой-либо причине scrollintoview не срабатывает при изменении размера в сафари?scrollintoview не срабатывает при изменении размера

Scrollintoview работает над функцией щелчка, но когда я пытаюсь вызвать его внутри моей функции изменения размера, он не срабатывает?

Я что-то упустил?

$(window).resize(function() { 
resize(); 
});; 

function resize(){ 

var active_slide = $('.active').attr('id'); 
document.getElementById(active_slide).scrollIntoView(); 

}

Edit - scrollintoview работает, когда я не использую переменную в getElementById т.е.

Работы - document.getElementById ('WI-slide2') scrollIntoView().

Не работает - document.getElementById (active_slide) .scrollIntoView();

+0

Не могли бы вы показать какой-нибудь код и сделать http://jsfiddle.net, если это возможно? – loveNoHate

+0

http://dev.wickedaudio.com/ –

ответ

0

Я попытался это, который отлично работал на Safari 6.1.1:

<script> 

window.onresize = function(event) { 
var e = document.getElementById("theElement"); 
e.scrollIntoView(true); 
}; 

</script> 

Это не ясно, что я, почему это не будет работать для вас ... вы пытались отложить scrollIntoView в таймер, как это ? :

window.onresize = function(event) { 
window.setTimeout(resize,1000); 

}; 
+0

Nathan White: У меня недостаточно репутации, чтобы напрямую комментировать ваш пост, так что вам следует, вероятно, войти в систему (например, console.log (active_slide)) и убедиться, что вы получаете правильный идентификатор элемента. –

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