2015-09-21 2 views
1

ДА, есть ссылка "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 консоли не работает так, как ожидалось:

IMAGE OF CONSOLE

пример может быть немного вводит в заблуждение, хотя, потому что я использовал верхний элемент. У меня есть элемент внизу, который нельзя увидеть на экране, и нет прокрутки (либо с элементом 8).

ответ

2

Изменение scroll в scrollTop:

$(window).scrollTop(findPos(document.getElementById("id_"+playerNamer.pos))); 
+0

Uncaught typeerror, window.scrollTop не является функцией. Похоже, что мой jQuery устарел .. – Banana

+0

@Banana Да, пожалуйста, обновите его. –

+0

@Banana Попробуйте это: '$ (window) .scrollTop (findPos (document.getElementById (" id _ "+ playerNamer.pos)));' –

0

Я установил, что ссылки на родительский элемент (в настоящее время я имел идентификатор дочернего элемента). Вероятно, это вызвало всю панику, и теперь у меня это получилось.

Смежные вопросы