我越来越"对象需要"错误信息 [英] I am getting "Object Required" error message

查看:161
本文介绍了我越来越"对象需要"错误信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图坚持我们网站的主页上新闻滚动。

I am trying to stick a news scroller on the home page of our website.

我有点被我收到错误信息混淆,因为我得到它的一台电脑上,但没有其他:

I am a bit confused by the error message I am getting because I get it on one PC but not on another:

对象所需

我使用的是低于code,但下面的行不断抛出对象需要错误,当我在我的<$ C $使用此文件作为web用户控件C> Default.aspx页:

I am using the below code but the following line keeps throwing Object Required error when I use this file as a web user control on my default.aspx page:

el2.style.height='<%=box_height %>';

其结果是,该消息是不滚动。

As a result, the news is not scrolling.

任何帮助非常AP preciated。

Any help greatly appreciated.

<a href="#"><uc1:NewsScroller ID="NewsScroller1" runat="server" /></a>

<script language="VB" runat="server">
    Public box_TextColor As String = "black"
    Public box_height As Integer = 150
    Public box_width As Integer = 166
    Public box_padding As String = "0 0 0 20"    
</script>

<script type="text/javascript" for="window" event="onload">
// <!CDATA[
    return window_onload()
// ]]>
</script>

<script type="text/javascript">
// <!CDATA[

// <!--
    var speed = 2;
    function init(){
        var el = document.getElementById("newsdiv");
        el.style.overflow = 'hidden';
        el.style.height='<%=box_height %>';
        el.style.width='<%=box_width %>';
        el.style.padding='<%=box_padding %>';
        el.style.color='<%=box_TextColor %>';

        var el2 = document.getElementById("newsdiv-p1");
        el2.style.height='<%=box_height %>';
        var el3 = document.getElementById("newsdiv-p2");

        el3.style.height='<%=box_height %>';  
        //alert(document.getElementById("newsdiv-p2").style.height+document.getElementById("newsdiv-p2").style.height);
        scrollFromBottom();  
    }

    var go = 0;
    var timeout = '';
    function scrollFromBottom(){

        clearTimeout(timeout);
        var el = document.getElementById("newsdiv");
        if(el.scrollTop >= el.scrollHeight-'<%=box_height %>'){
            el.scrollTop = 0;
        };

        el.scrollTop = el.scrollTop + speed;
        if(go == 0){
            timeout = setTimeout("scrollFromBottom()",50);
        };
    }

    function stop(){
        go = 1;
   }

   function startit(){
       go = 0;
      scrollFromBottom();
    }
// -->

    function window_onload() {
    init();

}
// ]]>
</script>


<%--<asp:Panel ID="newsdiv" runat="server" onmouseout="startit();" onmouseover="stop();">--%>
    <div id="newsdiv"  onmouseout="startit();" onmouseover="stop();"  >
        <p id="newsdiv-p1" class="spacer"></p>
        <asp:Label ID="lblNews" runat="server" Text="News..."></asp:Label>
        <p id="newsdiv-p2" class="spacer"></p>
    </div>
<%--</asp:Panel>--%>

@Marcel,我想你指的是源(单击鼠标右键,查看源文件并复制code)?

@Marcel, I suppose you mean the source (right-click, view source and copy the code)?

如果是这样,这里是又一次,谢谢

If so, here it is and again, thanks

    <script type="text/javascript" for="window" event="onload">
// <!CDATA[
return window_onload()
// ]]>
</script>

<script type="text/javascript">
// <!CDATA[

// <!--
var speed = 2;

$(document).ready(function init(){
  var el = document.getElementById("newsdiv");
  el.style.overflow = 'hidden';
  el.style.height='150';
  el.style.width='166';
   el.style.padding='0 0 0 20';
   el.style.color='black';

var el2 = document.getElementById("newsdiv-p1");

  el2.style.height='150';
var el3 = document.getElementById("newsdiv-p2");

  el3.style.height='150';  
  //alert(document.getElementById("newsdiv-p2").style.height+document.getElementById("newsdiv-p2").style.height);
  scrollFromBottom();


 }); 
var go = 0;
var timeout = '';
function scrollFromBottom(){

  clearTimeout(timeout);
  var el = document.getElementById("newsdiv");
  if(el.scrollTop >= el.scrollHeight-'150'){
    el.scrollTop = 0;

  };
  el.scrollTop = el.scrollTop + speed;
  if(go == 0){
    timeout = setTimeout("scrollFromBottom()",60);
  };
}

function stop(){
  go = 1;
}

function startit(){
  go = 0;
  scrollFromBottom();
}
// -->

function window_onload() {
init();

}

// ]]>
</script>
<div id="newsdiv"  onmouseout="startit();" onmouseover="stop();"  >
<p id="newsdiv-p1" class="spacer">
    </p>
    <span id="NewsScroller1_lblNews"><a href='#' OnClick=javascript:window.open('newsDetail.aspx?NewsID=10','NewsDetail','width=800,height=600;toolbar=no;');><font face='verdana' size='2' color='#184D68'>Steve's Birthday</font><br><br><a href='#' OnClick=javascript:window.open('newsDetail.aspx?NewsID=15','NewsDetail','width=800,height=600;toolbar=no;');><font face='verdana' size='2' color='#184D68'>Our Anniversary</font><br><br><a href='#' OnClick=javascript:window.open('newsDetail.aspx?NewsID=14','NewsDetail','width=800,height=600;toolbar=no;');><font face='verdana' size='2' color='#184D68'>Jessie's Birthday</font><br><br></span>
    <p id="newsdiv-p2" class="spacer"></p>
</div>

我仍然在试图总结我的头在这个伟大的论坛是如何工作的。昨天,我能看到一个按钮,上面写着,添加评论。从今天起,我一直没能看到它。我想我的问题是,你如何重新登录,以便您可以添加注释,等等?登录似乎是cookie的驱动,这意味着你的权限的消失,一旦你关闭浏览器,不是吗?

I am still trying to wrap my head on how this great forum works. Yesterday, I was able to see a button that says, "Add comment". Since today, I have not been able to see it. I guess my question is, how do you log back in so you are able to add comments, etc? Login appears to be cookie-driven which means that your priviledges disappear once you close the browser, no?

推荐答案

在这种情况下,该错误信息所必需的'对象'是指变量 EL2 不包含 HTML元素对象。

In this case, the error message ‘Object required’ means that variable el2 doesn't contain an HTMLElement object.

ID元素的是区分大小写的,所以你不能得到元素

ID's of elements are case-sensitive, so you can't get the element

<p id="newsdiv-p1" class="spacer"></p>

使用

var el2 = document.getElementById("newsDiv-p1");

此外,你不能访问那些没有被渲染尚未元素。把你的函数在的onload 处理程序或的之后的标记。

顺便说一句,在剧本元素的语言属性=HTTP://www.w3 .ORG / TR / HTML40 /交互/ scripts.html#edef脚本相对=nofollow>已去precated 很久以前。

BTW, the language attribute of the script element has been deprecated long ago.

更新:这块code的

<script type="text/javascript" for="window" event="onload">
// <!CDATA[
    return window_onload()
// ]]>
</script>

使用一个 IE特定的方式附加事件处理程序。 不要使用它!

uses an IE-specific way to attach an event handler. Never use it!

相反,使用 DOM 2级方法或只是

window.onload = window_onload;

这篇关于我越来越&QUOT;对象需要&QUOT;错误信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆