Даже если вы не вернули false в обработчике кликов, страница не должна прокручиваться в ответ на клик.
Возможно ли, что страница достаточно короткая, чтобы при некоторых строкахсвернуть, страница становится короче, чтобы она все вписывалась в область просмотра?(И, естественно, браузер прокручивается вверх, чтобы заполнить область просмотра.)
Обновление И если это так, вы можете попытаться сохранить scrollTop
во время вызова:
$(document).ready(function() {
$('tr.parent').click(function(){
var scrollTop = document.body.scrollTop; // <== Save the current value
// *** Maybe append something to the page here to keep it tall***
$(this).siblings('.child-' + this.id).toggle();
// *** Maybe remove the appended thing now ***
document.body.scrollTop = scrollTop; // <== Restore it
return false;
});
});
Если все это находится в контейнере, отличном от body
, вам, возможно, придется попытаться сохранить его в этом контейнере, но вы поймете, что идея.Это может быть не идеально в зависимости от того, насколько изменилась высота страницы, но это может помочь.