В будущем я сделал scrollBottom в плагин jquery, который можно использовать так же, как и scrollTop (т. е. вы можете установить число и прокрутить эту сумму в нижней части страницы и вернуть количество пикселей из нижней части страницы или, верните количество пикселей из нижней части страницы, если номер не указан)
$.fn.scrollBottom = function(scroll){
if(typeof scroll === 'number'){
window.scrollTo(0,$(document).height() - $(window).height() - scroll);
return $(document).height() - $(window).height() - scroll;
} else {
return $(document).height() - $(window).height() - $(window).scrollTop();
}
}
//Basic Usage
$(window).scrollBottom(500);
Решение на самом деле намного проще.
l = ["not end", "", "", "", "x", "y", "don't move"]
Определите конец зоны «не двигаться»:
MOVE = 6
«Выжать» пустые строки:
part1 = [x for x in l[:MOVE] if x]
Переместить » «выдавил» пустые строки до конца:
part2 = (MOVE - len(part1)) * [""]
Объедините кусочки:
part1 + part2 + l[MOVE:]
#['not end', 'x', 'y', '', '', '', "don't move"]
В качестве альтернативы вы можете отсортировать первую часть списка по свойство быть пустой строкой:
sorted(l[:MOVE], key=lambda x: x=="") + l[MOVE:]
#['not end', 'x', 'y', '', '', '', "don't move"]