ДА, есть ссылка "How to go on a specific element on a page", которую я уже соблюдал, поэтому перед тем, как вы пометите ее как дубликат, прочтите это.Как перейти к определенному элементу на странице
Я тестировал каждый бит кода, указанный в ссылке, и ни один из них не работал.
У меня есть это поле поиска, которое дает пользователю возможность поиска. Если нажата кнопка поиска, элемент должен прокручиваться. Я зарегистрировал в консоли элемент, он извлекается и отображается в консоли, однако любая из данных функций в ссылке не работает. Кстати, моя загрузочная панель заполнена аккордеонами, поэтому, возможно, именно поэтому проблема существует, однако она должна отправить меня на аккордеон по крайней мере.
//Search button click
$("#searchbutton").click(function() {
var searchInfo = document.getElementById("search");
console.log(searchInfo.value);
var playerNamer = findPlayerBy(playerLst,searchInfo.value,null);
if (playerNamer == false){
//Do nothing, if search fails
}
else{
console.log(document.getElementById("id_"+playerNamer.pos));
window.scroll(0,findPos(document.getElementById("id_"+playerNamer.pos)));
}
});
function findPos(obj) {
var curtop = 0;
if (obj.offsetParent) {
do {
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
return [curtop];
}
}
Теперь, как вы можете видеть в searchbutton, у меня есть несколько console.log-s. Эти вещи возвращают правильный результат, однако одна из примерных функций со страницы, оставшейся в коде, не работает.
Я представляю мой вывод консоли в качестве изображения причины копирования в Opera консоли не работает так, как ожидалось:
пример может быть немного вводит в заблуждение, хотя, потому что я использовал верхний элемент. У меня есть элемент внизу, который нельзя увидеть на экране, и нет прокрутки (либо с элементом 8).
Uncaught typeerror, window.scrollTop не является функцией. Похоже, что мой jQuery устарел .. – Banana
@Banana Да, пожалуйста, обновите его. –
@Banana Попробуйте это: '$ (window) .scrollTop (findPos (document.getElementById (" id _ "+ playerNamer.pos)));' –