У меня есть кнопка, которая при нажатии на нее меняет сетку столбцов по умолчанию по умолчанию на единую сетку столбцов. И Y смещение позиции содержащихся элементов в столбце изменяется после этого события click.Реализация события клика с обновленной позицией смещения
Мне нужно знать обновленное положение смещения Y, чтобы иметь возможность scrollTop
определенному элементу сразу после изменения сетки столбца, но, похоже, я не уверен, что код работает, и не уверен, что моя структура является правильным способом рефакторинг, чтобы они все синхронизировались.
var lastTrigger;
var target = $('#' + lastTrigger);
$('button').click(function() {
$('.row > div').toggleClass('col-xs-6').toggleClass('col-xs-12');
lastTrigger = $(this).closest('div').attr('id');
scrollView(updateOffset);
});
function updateOffset() {
var currentOffset = target.offset().top;
return currentOffset;
}
function scrollView() {
$('html,body').animate({
scrollTop: currentOffset
}, 1000);
}
Спасибо. Вот сценарий с вашим предложением, но я все еще не получаю результат, который я хочу. http://jsfiddle.net/sungsoonz/oumaqgft/14/ Если вы можете помочь в достижении моей цели, это будет очень признательно. например если вы нажмете кнопку расширения на панели 2, я хочу, чтобы свиток переместился на панель 2 в раскрывающемся окне. –
@SeongLee, он не работал, потому что, по-видимому, анимация jQuery не играет хорошо с переходами CSS. Если вы добавите таймаут, чтобы вы прокручивали его после завершения перехода, он будет работать. Взгляните: http://jsfiddle.net/mayacoda/Lb0ytmkw/1/ –
Это прекрасно! Не знал, что переходы CSS будут иметь проблемы с функцией анимации jQuery. Большое спасибо :) –