Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Как менять цвет ссылки.


Автор: Evgen11 10.5.2010, 06:25
Здравствуйте.
Как можно сделать функцию, что бы выводилась ссылка и мигала двумя цветами.
Например.
Код

function link (здесь ссылка в качестве входной переменной){


}


Что бы я мог эту функцию использовать там где нужно вывести мигающую ссылку. Например:

<script>link ("Здесь много интересного");</script>


Автор: Amphiluke 10.5.2010, 09:59
Вам нужно выводить во время загрузки документа или в любое время после загрузки?

Автор: Evgen11 10.5.2010, 10:04
В любое время после загрузки.
Что бы ссылка постоянно мигала двумя цветами - на странице. 

Автор: Amphiluke 10.5.2010, 10:37
Ну вот что-то такое.
Код

var lnks = [];
var redClr = true;
window.setInterval(doBlink, 1000);
function doBlink() {
    redClr = !redClr;
    for (var i = 0; i < lnks.length; i++)
        lnks[i].style.color = (redClr) ? "#FF0000" : "#0000FF";
}
function _link(lnkURL, lnkTxt, container) {
    var a = document.createElement("a");
    a.href = lnkURL;
    a.style.color = "#0000FF";
    a.appendChild(document.createTextNode(lnkTxt));
    if (typeof container == "string") container = document.getElementById(container);
    container.appendChild(a);
    lnks.push(a);
}

Функция _link принимает адрес гиперссылки (lnkURL), ее отображаемый текст (lnkTxt) и родительский объект для ссылки (либо его id).

Можно, разумеется, сделать красивее. Избавиться от глобальных переменных и проч. Но идея, думаю, понятна...

Автор: Evgen11 10.5.2010, 11:30
Amphiluke, спасибо за помощь, именно то что надо. Я знал что на этом форуме помогут.
Маленький вопрос. Как можно добавлять пробелы перед текстом ссылки. Просто у меня отступ стоит у других ссылок.

Автор: Amphiluke 10.5.2010, 11:33
Цитата(Evgen11 @  10.5.2010,  15:30 Найти цитируемый пост)
Как можно добавлять пробелы перед текстом ссылки.

Смотря что вы разумеете под пробелом. Если это просто пробел (код 0x20), то можно просто подправить строчку
Код

a.appendChild(document.createTextNode(" " + lnkTxt));


Добавлено @ 11:35
Пардон, бред сказал.  smile 

Правильнее исправить так:
Код

container.appendChild(document.createTextNode(" "));
container.appendChild(a);

Автор: Evgen11 10.5.2010, 12:00
Amphiluke, всё получилось! Спасибо  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)