Почему такой JS не работает в Опере?

Тема в разделе "Другие языки", создана пользователем new_forward, 25 июл 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Вот такой код не работает в опере, может его как то подправить можно? :)
    Код:
      <script language="javascript">function _getElementById(id){
      var item = null;
    
      if (document.getElementById){
        item = document.getElementById(id);
      } else if (document.all){
        item = document.all[id];
      } else if (document.layers){
        item = document.layers[id];
      }
    
      return item;
    }
    
    function DoDiv(id) {
      var item = _getElementById(id);
    
      if (!item){
      } else if (item.style){
        if (item.style.display == 'none'){
            item.style.display = '';
        } else {
            item.style.display = 'none';
          }
      } else {
          item.visibility = 'show';
      }
    }
    
    function ShowOrHide(d1, d2) {
      if (d1 != ''){
          DoDiv(d1);
      }
    
      if (d2 != ''){
          DoDiv(d2);
      }
    }
      </script> 
     <a id="conf-open" onClick="javascript:ShowOrHide('conf-close')" href="javascript:ShowOrHide('conf',%20'conf-open')">Открыть</a><a id="conf-close" onClick="javascript:ShowOrHide('conf-open')" style="display: none;" href="javascript:ShowOrHide('conf',%20'conf-close')">Закрыть</a></td> 
            
              <div id="conf" style="display: none;"> <object height="145" width="301" title="Title of this audio object" data="http://kissfm.ua/v3/kiss-fm.m3u" standby="Loading Windows Media Player components..." id="MediaPlayer" type="application/x-mplayer2"> <param name="filename" value="http://kissfm.ua/v3/kiss-fm.m3u"></param> <param name="height" value="145"></param> <param name="width" value="301"></param> <param name="autoStart" value="1"></param> <param name="autoPlay" value="false"></param> <param name="AnimationatStart" value="0"></param> <param name="showdisplay" value="1"></param> <param name="TransparentAtStart" value="1"></param> <param name="ShowControls" value="1"></param> <param name="ShowStatusBar" value="1"></param> <param name="bgcolor" value="#000000"></param> <param name="loop" value="0"></param> </object> 
              </div>
     
  2. socker

    socker Постоялец

    Регистр.:
    15 сен 2007
    Сообщения:
    109
    Симпатии:
    17
    Попробуйте исправить так:
    HTML:
    function DoDiv(id) {
      var item = _getElementById(id);
      if (item){
    	if (item.style){
    		if (item.style.display == 'none') item.style.display = '';
    		else item.style.display = 'none';
    	} else item.visibility = 'show';	
      }
    }
     
  3. new_forward

    new_forward

    Регистр.:
    5 май 2008
    Сообщения:
    668
    Симпатии:
    44
    Вроде работает только со второго открытого дива, тобишь если открыть 3 то работает 2...:nezn: парадокс
     
Статус темы:
Закрыта.