Функция выделения в основном относится к выделению указанного текста в указанной области на странице, то есть на фоне окраски. Эта функция обычно используется на страницах результатов поиска.
Вот решение для реализации его с помощью JavaScript.
Во -первых, введите следующий метод JavaScript в <head>:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
// <! [CDATA [
// -------- Begin Function FHL (O, Flag, RNDCOLOR, URL) ------------------ ////
Функция fhl (o, flag, rndcolor, url) {
/// <summary>
/// Используйте JavaScript HTML DOM, чтобы выделить слова, специфичные для страницы.
/// Пример:
/// FHL (документ.
/// Тело здесь относится к содержанию в выделенном теле.
/// FHL (Document.Body, 'Hope | Извините', false, '/');
/// fhl (document.getElementbyId ('at_main'), 'Солнечный | плавающий | long', true, 'search.asp? Keyword =');
/// «at_main» здесь относится к контенту в Div с выделенным id = 'at_main'. search.asp?
/// Я добавил здесь параметр и буду использоваться позже. Может быть любой адрес.
/// </summary>
/// <param name = "O" type = "Object">
/// объект, объект, который будет выделен.
/// </param>
/// <param name = "flag" type = "string">
/// Строка, чтобы выделить слово или несколько слов, используйте вертикальные стержни (|), чтобы разделить несколько слов.
/// </param>
/// <param name = "rndcolor" type = "boolean">
/// Булевое значение, будь то случайным образом отображать цвет текстового фона и цвет текста, true означает случайный дисплей.
/// </param>
/// <param name = "url" type = "string">
/// uri, добавить ли ссылки на выделенные слова.
/// </param>
/// <return> </return>
var bgcor = fgcor = '';
if (rndcolor) {
bgcor = frndcor (10, 20);
FGCOR = FRNDCOR (230, 255);
} еще {
bgcor = '#f0f';
fgcor = 'черный';
}
var re = new Regexp (flag, 'i');
for (var i = 0; i <o.childnodes.length; i ++) {
var o_ = o.childnodes [i];
var o_p = o_.parentnode;
if (o_.nodeType == 1) {
fhl (o_, flag, rndcolor, url);
} else if (o_.nodeType == 3) {
if (! (o_p.nodename == 'a')) {
if (o_.data.search (re) ==-1) продолжить;
var temp = felea (o_.data, flag);
o_p.replacechild (temp, o_);
}
}
}
// ------------------------------------------------
Функция Felea (Text, Flag) {
var style = 'style = "foanle-color:'+bgcor+'; color:'+fgcor+';"; '
var o = document.createElement ('span');
var str = '';
var re = new Regexp ('('+flag+')', 'gi');
if (url) {
str = text.replace (re, '<a href = "'+url+
'$ 1 "'+style+'> $ 1 </a>'); // Вот ссылка на ключевое слово, а красное 1 доллар относится к конкретным параметрам после адреса ссылки выше.
} еще {
str = text.replace (re, '<span'+style+'> $ 1 </span>'); // показывать, когда не связывается
}
o.innerhtml = str;
вернуть O;
}
// ------------------------------------------------
Функция frndcor (под, овер) {
if (arguments.length == 1) {
var Over = ниже;
под = 0;
} else if (arguments.length == 0) {
var in in = 0;
var Over = 255;
}
var r = frandomby (под, над) .toString (16);
r = padnum (r, r, 2);
var g = frandomby (под, над) .toString (16);
g = padnum (g, g, 2);
var b = frandomby (под, над) .toString (16);
b = padnum (b, b, 2);
// defaultStatus = r+''+g+''+b
вернуть '#'+r+g+b;
Функция Frandomby (Under, Over) {
Switch (Arguments.length) {
Случай 1: вернуть Parseint (math.random ()*Under+1);
Случай 2: вернуть parseint (math.random ()*(непревзойденный + 1) + под);
по умолчанию: return 0;
}
}
функция padnum (str, num, len) {
var temp = ''
for (var i = 0; i <len; temp+= num, i ++);
return temp = (temp+= str) .substr (temp.length-len);
}
}
}
// -------- Функция FHL (O, Flag, RNDCOLOR, URL) -------------------- //
//]]>
</script>
Приведенный выше метод FHL используется для достижения выделения, а значение параметров записано в комментариях.
Затем вызовите метод FHL в конце страницы, чтобы выделить текст для указанной области, например:
Кода -копия выглядит следующим образом:
<script type = "text/javascript">
fhl (document.body, 'highting'); // раскрасить фон текста «выделить» в области тела страницы
</script>
Как насчет этого, это очень просто ~