2013-02-13 2 views
0

Я пытаюсь реализовать веб-страницу, которая должна была иметь следующие свойства.Отображение и выделение определенной строки в HTML

  1. HTML-страница содержит много строк текста (тысячи строк), в основном файл журнала.
  2. При желаемом действии строка, связанная с действием, должна быть подсвечена и показана. (точно так, как если бы вы нажмете на соответствующую кнопку источника зарегистрированной переменной в элементе контроля хрома.)

Это кажется очень простым, но я не мог понять, как это сделать! Может быть, мне не хватает литературных терминов. Спасибо.

ответ

0

Вам нужно сделать несколько вещей:

$("li").each(function(i, element) { 
    var li = $(element); 

    if (li.text() == "Orange") { 
    li.addClass("selected"); 

    // Get position of selected element relative to top of document 
    var position = li.offset().top; 

    // Get the height of the window 
    var windowHeight = $(window).height(); 

    // Scroll to and center the selected element in the viewport 
    $("body").scrollTop(position - (windowHeight/2)); 
    } 
}); 

См DEMO.

+0

Отлично! Это именно то, что мне нужно. Спасибо. –

0

Существует много способов сделать это. Но есть ли какие-либо теги класса в зарегистрированном источнике или только один большой текстовый блок?

Если на html есть теги класса или идентификатора, вы можете использовать javascript или jquery для этого.

document.getElementById('myText'); 

или JQuery

var element = $("#myText"); 
//example css changes 
element.css("position","center"); 
element.css("color","red"); 

Затем измените стиль CSS на этих HTML элементов.

+0

Да, я могу выделить их, но как их разместить? например, отображать 100-ю линию в середине экрана и в то же время оставлять весь оставшийся текст неповрежденным. –

+0

Существует также стиль CSS для позиции. Не уверен, что это на самом деле, но что-то вроде этого. «позиция: центр»; или вы можете использовать поля/отступы – BenDavidJamin

+0

Нет, позиция: центр выравнивает текст этой строки только тем, что он будет занимать среднюю ширину экрана. В моем случае мне нужно выровнять линию на средней высоте того, что отображается. Думаю, мне нужно вручную выровнять несколько строк выше и ниже нужной строки. –

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