javascript - onload负载条和原型(prototype)滚动条冲突

标签 javascript prototypejs

我试图理解之间的冲突

  1. 我的加载栏脚本隐藏我的内容,直到页面加载(删除了顶部的标签)

    function showContent(){
         //hide loading status...
         document.getElementById("loading").style.display='none';
         //show content
         document.getElementById("content").style.display='block';
      }
      window.onload = function() {
     showContent(); }
    </head>
    <body>
    <script type="text/javascript">
      document.write('<div id="loading"><img src="ajax-loader.gif"></div>');
    </script>
    <div id="content">
      <script type="text/javascript">
         //hide content
         document.getElementById("content").style.display='none';
      </script> 
    

还有2.我的livepipe滚动条使用原型(prototype)1.6.1 调用的地方是这样的:

  <script type="text/javascript">
      document.observe('dom:loaded',function(){     
        var scrollbar = new Control.ScrollBar('cases_tekst','scrollbar_track');
            });
    </script>

出于某种原因,要么一个起作用,要么另一个起作用,具体取决于顺序。我还有其他几个与原型(prototype)滚动条一起使用的 windows.onload 函数,但不是这个。 希望能更好地理解出了什么问题。 firebug 没有显示任何错误。 该错误一定与 onload 调用有关,因为当我调整浏览器窗口大小时,滚动条可以工作。

希望有人能解释一下冲突的原因。

最佳答案

不要使用 window.onload 来调用 showContents,而是使用原型(prototype)的 Event.observe 函数。像这样:

Event.observe(window, "load", showContent);

有关此功能的更多信息:http://www.prototypejs.org/api/event/observe

有关为什么不使用 window.load 事件模型的更多信息,请查看此站点:http://www.quirksmode.org/js/introevents.html

总的来说,quirksmode.org 是一个很好的网站,可以帮助您了解此类事物以及它们在各种浏览器中的行为方式。这是使用原型(prototype)或 jquery 等库的原因之一,因为它标准化了浏览器的大部分行为。

关于javascript - onload负载条和原型(prototype)滚动条冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4125974/

相关文章:

javascript - rails 中的 rjs 类型错误?

javascript - 我将如何在我的 html 结构中使用它?

javascript - Chrome 扩展 - 将文件从本地主机加载到 content_scripts

javascript - 维护一组独特的函数

javascript - 当需要单独的函数调用时,如何优化/避免 JavaScript 中的切换条件

JQuery 到 AddThis 的原型(prototype)

javascript - 使用 Script.aculo.us 禁止双击

javascript - Jointjs 类型定义

javascript - 如何根据下拉选择填充文本值类型的输入 - Angular 5

javascript - 从 Handsontable 导出为 Excel