Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript错误:未定义或不是对象_Javascript - Fatal编程技术网

Javascript错误:未定义或不是对象

Javascript错误:未定义或不是对象,javascript,Javascript,我正在为股票代码编写javascript,页面上出现了一些运行时错误 使用VS2008开始调试时,将显示 Microsfot JS运行时错误:tickerText未定义 脚本如下: <style type="text/css"> #ticker-area, #ticker-area ul li a {font-size:13px;font-family:Arial, Helvetica, sans-serif;;font-weight:normal;} </style>&

我正在为股票代码编写javascript,页面上出现了一些运行时错误

使用VS2008开始调试时,将显示

Microsfot JS运行时错误:tickerText未定义

脚本如下:

<style type="text/css">
#ticker-area, #ticker-area ul li a {font-size:13px;font-family:Arial, Helvetica, sans-serif;;font-weight:normal;}
</style><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>

<style type="text/css">
a:link, a:visited {text-decoration:none} 
a:hover {text-decoration:none;}
</style>

<script type="text/javascript">
var tickerText = 0;
function createTicker(){
// put all list elements within #ticker-area into array
var tickerLIs = $("#ticker-area ul").children();
tickerItems = new Array();
tickerLIs.each(function(el) {
tickerItems.push( jQuery(this).html() );
});
i = 0
rotateTicker();
}

function rotateTicker(){
if( i == tickerItems.length ){
i = 0;
}
tickerText = tickerItems[i];
c = 0;
typetext();
setTimeout( "rotateTicker()", 5000 );
i++;
}

var isInTag = false;
function typetext() {
var thisChar = tickerText.substr(c, 1);
if( thisChar == '<' ){ isInTag = true; }
if( thisChar == '>' ){ isInTag = false; }
$('#ticker-area').html("&nbsp;" + tickerText.substr(0, c++));
if(c < tickerText.length+1)
if( isInTag ){
typetext();
}else{
setTimeout("typetext()", 28);
}
else {
c = 1;
tickerText = "";
}
}

$(document).ready(function() {
var soapEnv =
"<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'> \
<soapenv:Body> \
<GetListItems xmlns='http://schemas.microsoft.com/sharepoint/soap/'> \
<listName>Alerts</listName> \
<viewName></viewName> \
<viewFields> \
<ViewFields> \
<FieldRef Name='Title' /> \
<FieldRef Name='Link' /> \
<FieldRef Name='ID' /> \
</ViewFields> \
</viewFields> \
<rowLimit>6</rowLimit> \
</GetListItems> \
</soapenv:Body> \
</soapenv:Envelope>";

$.ajax({
url: "_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset=\"utf-8\""
});

});

function processResult(xData, status) { 
$(xData.responseXML).find("z\\:row").each(function() { 

var url = "/Lists/Alerts/DispForm.aspx?ID=" + $(this).attr("ows_ID");



var liHtml = "<a href='" + url + "' style='color:#000000;'>&nbsp;&nbsp;&nbsp;&nbsp;"+ $(this).attr("ows_Title") + "...</a>"; 
$("#listticker").append(liHtml); 

}); 
createTicker();
}
</script>

<div id="ticker-area" style="font-size:13px;overflow:hidden;color: #EEFFFF" width="100%">
<marquee id="listticker" class="hiddenlink" direction="left" scrollamount="4" loop=infinite HSPACE=10 onmouseover="this.stop()" onmouseout="this.start()"></marquee></div>

#股票区域,#股票区域ul li a{字体大小:13px;字体系列:Arial,Helvetica,无衬线;;字体重量:正常;}
a:链接,a:已访问{文本装饰:无}
a:悬停{文本装饰:无;}
var tickerText=0;
函数createTicker(){
//将#ticker区域内的所有列表元素放入数组
var tickerLIs=$(“#ticker area ul”).children();
tickerItems=新数组();
tickerLIs.每个(功能(el){
push(jQuery(this.html());
});
i=0
旋转器();
}
函数旋转器(){
如果(i==ms.length){
i=0;
}
tickerText=tickerItems[i];
c=0;
typetext();
setTimeout(“rotateTicker()”,5000);
i++;
}
var isInTag=假;
函数typetext(){
var thisChar=tickerText.substr(c,1);
如果(thisChar=''){isInTag=false;}
$('#ticker area').html(“+tickerText.substr(0,c++”);
如果(c
请帮我做这个


提前感谢

问题在于,
tickerText
rotateTicker
函数的本地部分,在
typetext
函数中不存在。使此代码正常工作的一个快速方法是从第5行中删除“var”,即更改

var tickerText = tickerItems[i];


这将使
tickerText
变量成为全局变量,就像
i
c
一样。

tickerText的范围在rotateTicker()函数中。在函数之外它将不可用。您必须设置为全局变量。仅限我的thoughts@GustlyWind+1用于在没有缩进的情况下计算。@GustlyWind,这是正确的@Jam,我的定义在哪里?@GustlyWind,请给我看一段代码,在Golball中将“tickerText”声明为tickerText=tickerItems[i],但还是一样error@Jam:好的,那么听起来您在执行
rotateTicker()
中的初始化代码之前调用了
typetext()
。如果你把你所有的代码都贴出来,我相信有人会帮你的。
tickerText = tickerItems[i];