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

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

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

    Myborisov Гость

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

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

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

    Код:
    <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 Гость

    Репутация:
    0
    <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 Гость

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

    LENAALIK Гость

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

    Myborisov Гость

    Репутация:
    0
    Скрипт работает. А как использовать этот "онклик"?

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

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