2010-10-11 3 views
0

Я использую этот javascript для переключения видимости некоторых divs, которые имеют разные идентификаторы. он работает так, как я хочу в Google Chrome и даже в Internet Explorer, но в firefox, когда я нахожу ссылки, divs не изменят их видимость. JavaScript:javascript проблема в firefox

function loaded() { // this one is called in the body tag 
    about.style.visibility='visible'; 
    last = about; 
} 

function toggle_visibility(id) { 
    var e = document.getElementById(id); 
    if (last!=e) { 
     e.style.visibility = 'visible';   
     last.style.visibility='hidden'; 
     last = e; 
    } 
} 

CSS для дивы:

#about { 
    background-color:#D580FE; 
    width:850px; 
    height:500px; 
    margin-left:auto; 
    margin-right:auto;  
    margin-top:40px; 
} 

#portofoliu { 
    background-color:#FF0000; 
    width:850px; 
    height:500px; 
    margin-left:auto; 
    margin-right:auto;  
    margin-top:-500px; 
    visibility:hidden; 
} 
+0

чувак. исправьте свой отступ. – einarmagnus

+0

@Bogdan Вы уверены, что 'toggle_visibility' вызывается в Firefox? – bzlm

+0

да, я уверен. Я вызываю свои функции, используя это

  • about
  • . я делаю это неправильно? : -s – Bogdan

    ответ

    0

    попытка переключения с visibility:visible и visibility:hidden к display:block и display:none

    так ...

    function loaded() { // this one is called in the body tag 
    about.style.display='block'; 
    last = about; 
    

    }

    function toggle_display(id) { 
    var e = document.getElementById(id); 
    if (last!=e) { 
        e.style.display = 'block';   
        last.style.display='none'; 
        last = e; 
    } 
    

    }

    CSS для дивы:

    #about { 
    background-color:#D580FE; 
    width:850px; 
    height:500px; 
    margin-left:auto; 
    margin-right:auto;  
    margin-top:40px; 
    

    }

    #portofoliu { 
    background-color:#FF0000; 
    width:850px; 
    height:500px; 
    margin-left:auto; 
    margin-right:auto;  
    margin-top:-500px; 
    display:none; 
    

    }

    +0

    Я пробовал это, и он отлично работает в Chrome и IE, но в firefox он даже не скроет о div. – Bogdan

    +0

    проверить мой код на http://craigslist.fatherstorm.com/stackoverflow.php – FatherStorm

    -1
    • Попробуйте использовать другую переменную, кроме e. Он используется как переменная window.event в Firefox.
    • Ваш код должен работать.
      Если событие mouseover не запускается, у вас есть проблема в вашем JavaScript в другом месте.
    • Либо отправьте страницу где-нибудь, разместите дополнительную информацию или загрузите Firebug и отлаживайте ее самостоятельно.
    Смежные вопросы