S.o.s.! Моргание ссылок при наведении на них курсора

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Myborisov, 26 дек 2006.

Статус темы:
Закрыта.
  1. Myborisov

    Myborisov Гость

    Возникла необходимость сделать так, чтобы ссылка, при наведении на неё курсора, моргала, как стробоскоп в клубах. Ссылка будет на темном фоне светлой. Моргание хотелось бы чтобы происходило в холодных сине-голубых тонах.

    Есть подобный скрипт, который изменяет цвет ссылок при наведении. Но он меняет его на радужные цвета и работает только в IE.

    Привожу его код:

    Код (Text):
    <script
    language="Javascript">
    var rate = 20;
    var obj;
    var act = 0;
    var elmH = 0;
    var elmS = 128;
    var elmV = 255;
    var clrOrg;
    var TimerID;
    if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {
    Browser = true;
    } else {
    Browser = false;}
    if (Browser) {
    document.onmouseover = doRainbowAnchor;
    document.onmouseout = stopRainbowAnchor;}
    function doRainbow(){
    if (Browser && act != 1) {
    act = 1;
    obj = event.srcElement;
    clrOrg = obj.style.color;
    TimerID = setInterval("ChangeColor()",100);}}
    function stopRainbow(){
    if (Browser && act != 0) {
    obj.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;}}
    function doRainbowAnchor(){
    if (Browser && act != 1) {
    obj = event.srcElement;
    while (obj.tagName != 'A' && obj.tagName != 'BODY') {
    obj = obj.parentElement;
    if (obj.tagName == 'A' || obj.tagName == 'BODY')
    break;}
    if (obj.tagName == 'A' && obj.href != '') {
    act = 1;//osw
    clrOrg = obj.style.color;
    TimerID = setInterval("ChangeColor()",100);}}}
    function stopRainbowAnchor(){
    if (Browser && act != 0) {
    if (obj.tagName == 'A') {
    obj.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;}}}
    function ChangeColor(){
    obj.style.color = makeColor();}
    function makeColor(){
    if (elmS == 0) {
    elmR = elmV; elmG = elmV; elmB = elmV;}
    else {
    t1 = elmV;
    t2 = (255 - elmS) * elmV / 255;
    t3 = elmH % 60;
    t3 = (t1 - t2) * t3 / 60;
    if (elmH < 60) {
    elmR = t1; elmB = t2; elmG = t2 + t3;}
    else if (elmH < 120) {
    elmG = t1; elmB = t2; elmR = t1 - t3;}
    else if (elmH < 180) {
    elmG = t1; elmR = t2; elmB = t2 + t3;}
    else if (elmH < 240) {
    elmB = t1; elmR = t2; elmG = t1 - t3;}
    else if (elmH < 300) {
    elmB = t1; elmG = t2; elmR = t2 + t3;}
    else if (elmH < 360) {
    elmR = t1; elmG = t2; elmB = t1 - t3;}
    else {
    elmR = 0; elmG = 0; elmB = 0;}}
    elmR = Math.floor(elmR);//fantasyflash.ru
    elmG = Math.floor(elmG);
    elmB = Math.floor(elmB);
    clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16);
    elmH = elmH + rate; if (elmH >= 360) elmH = 0;
    return clrRGB;}</script>



    Может кто знает, как сделать моргание наподобие "стробоскопа" ??? :D

    Заранее благодарен!
     
  2. LENAALIK

    LENAALIK Гость

    <HEAD>
    <script language="JavaScript">
    <!--
    function initArray() {
    for (var i = 0; i < initArray.arguments.length; i++) {
    this = initArray.arguments;
    }
    this.length = initArray.arguments.length;
    }

    // Вы можете заменить цвета или добавить свои, этот
    // скрипт будет поочередно перебирать каждый.
    var colors = new initArray(
    "#008000",
    "green",
    "#000000",
    "#D3CF18",
    "#C6C68C",
    "green",
    "blue",
    "darkblue",
    "purple",
    "black",
    "red",
    "lime",
    "yellow");

    pause_time = .2; // задержка переключения цветов (в секундах)

    link = 0; // начальный цвет (см. список цветов) для непосещенной ссылки
    vlink = 4; // начальный цвет для посещенной ссылки

    function linkDance() {
    link = (link+1)%colors.length;
    vlink = (vlink+1)%colors.length;
    document.linkColor = colors[link];
    document.vlinkColor = colors[vlink];
    setTimeout("linkDance();",pause_time*1000);
    }
    linkDance();
    // -->
    </script>
    </HEAD>

    Воть. Тока еще сюда примени при наведении, а то так оно все время мигать бует.
     
  3. Myborisov

    Myborisov Гость

    Ой!... Спасибо за скрипт! Но я в java-script полный ноль...
    А как сделать - чтобы моргало только при наведении на ссылку??? :)
     
  4. LENAALIK

    LENAALIK Гость

    Не за что. Ты хоть посмотри: работает или нет... а то я не проверяла :(
    Используй онклик. :D
     
  5. Myborisov

    Myborisov Гость

    Скрипт работает. А как использовать этот "онклик"?

    Это потом для каждой ссылки надо будет онклик прописывать? Или как. Мне бы хотелось, чтобы в скрипте это было как-то заложено. Так как сайт будут обновлять несколько человек при помощи визивиг-редактора, ссылки там автоматом генерируются (тэги <a></a>).
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей