我有一個按鈕,單擊時,它將默認2列網格更改爲單列網格。此點擊事件後,列中包含元素的Y偏移位置發生變化。實施點擊事件與更新的偏移位置
我需要知道更新後的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動畫功能造成麻煩。非常感謝:) –