代码之家  ›  专栏  ›  技术社区  ›  Chowlett

Javascript Prototype.visible()方法在Internet Explorer中不起作用

  •  1
  • Chowlett  · 技术社区  · 14 年前

    function show_hide_selects()
    {
      chkbox = document.getElementById('game_random_select')
      seldiv = document.getElementById('card_selects')
    
      if (chkbox.checked && seldiv.visible())
      {
        Effect.BlindUp('card_selects', {duration: 0.5})
        Effect.BlindDown('random_options', {duration: 0.5})
      }
      else if (!chkbox.checked && !seldiv.visible())
      {
        Effect.BlindUp('random_options', {duration: 0.5})
        Effect.BlindDown('card_selects', {duration: 0.75})
      }
    }
    

    此代码段被激发 onClick

    这在FireFox中运行良好,但在internetexplorer(经过测试的ie8)中不起作用。它在其中一个if测试行上抛出一个错误“Object不支持这个属性或方法”;使用JS调试器表明 seldiv.visible()

    2 回复  |  直到 13 年前
        1
  •  2
  •   Chowlett    14 年前

    呵呵。我自己解决了这个问题,感谢阅读了API文档并发现了一些我没有做的事情。

    seldiv.visible() 不起作用,但是 $('card_selects').visible()

        2
  •  0
  •   Anriëtte Myburgh    14 年前

    你可以试试 getStyle http://www.prototypejs.org/api/element/getStyle ,它会回来的 null 如果元素有 display 财产 none