这是我用来查询谷歌财务的脚本,它带回了一些股票在股票代码中,我需要用短信代替finviz.com,但由于某种原因这引起了我很多的悲伤。除了那个MOG-A之外,其他每个自动收报机都在悬停。只是让我'失踪;在陈述'错误之前没有细节。
( function($) {
$(document).ready(function(){
$.getJSON('https://finance.google.com/finance/info?client=ig&q='+stocklist+'& callback=?',function(response){
for (var i = 0; i < response.length; i++) {
var stockInfo = response[i];
if (stockInfo.c.indexOf("-") != -1) {var scolor = "red";} else {var scolor = "green";}
var finvizt = stockInfo.t.replace('\.','\-');
var stockString ='<div style="width:210px;position:relative;" class="stockWrapper">';
stockString +='<span class="stockPrice" style="margin-left:-10px"><a class="slink" name="slink'+stockInfo.t+'" href="http://finviz.com /quote.ashx?t='+finvizt+'" onMouseOver="var newimg'+stockInfo.t+'=img_create(\''+escape(stockInfo.t)+' \');slink=getElementById(\'slink'+stockInfo.t+'\');thelink=this;var arx=getPos(thelink); var posx=arx[0]+90;var posy=arx[1]-75;var x=document.getElementById(\'stock'+stockInfo.t+'\');x.style.position=\'absolute \';x.style.display=\'block\';x.style.left=posx+\'px\';x.style.top=posy+\'px\';" onMouseOut="document.getElementById(\'stock'+stockInfo.t+'\').style.display=\'none\';" target="external">'+stockInfo.t+'</a></span>';
stockString +='<span class="stockPrice" style="position:absolute;right:120px" title="'+stockInfo.ltt+'">'+stockInfo.l+' </span>';
stockString +='<span class="stockChange" style="color:'+scolor+';position:absolute; right:75px">'+stockInfo.c+'</span>';
stockString +='<span class="stockChange" style="color:'+scolor+';position:absolute; right:25px">'+stockInfo.cp+'%</span>';
stockString +='</div>';
$('.stockTick').prepend(stockString);
}
});
});
} ) ( jQuery );
然后是我用于图像的代码
function img_create(alt) {
if (!(document.getElementById('stock'+unescape(alt))))
{
var img= document.createElement('img');
img.src= 'http://finviz.com/chart.ashx?s=m&p=d&t='+unescape(alt).replace('.','-');
img.id= 'stock'+unescape(alt);
img.cssText= 'display:none;position:absolute;';
img.style.border= '1px solid #000';
img.style.zIndex='99';
document.body.appendChild(img);
return img;
}
}
所有的逃脱,unescape的东西被添加为试图修复它没有运气的手段。我意识到代码很乱,任何帮助都会受到赞赏。
左侧有投资组合代码的示例页面,MOG.A(finviz中的MOG-A)是真正的工作。 http://mimictrading.com/viewtopic.php?f=5&t=298
答案 0 :(得分:0)
问题在于onmouseover
属性中的内联Javascript:
<a class="slink"
name="slinkMOG.A"
href="http://finviz.com/quote.ashx?t=MOG-A"
onmouseover="var newimgMOG.A=img_create('MOG.A');slink=getElementById('slinkMOG.A');thelink=this;var arx=getPos(thelink); var posx=arx[0]+90;var posy=arx[1]-75;var x=document.getElementById('stockMOG.A');x.style.position='absolute';x.style.display='block';x.style.left=posx+'px';x.style.top=posy+'px';" onmouseout="document.getElementById('stockMOG.A').style.display='none';"
target="external">MOG.A</a>
声明var newimgMOG.A = img_create('MOG.A');
无效,因为您的变量名称中不能有.
。
在我看来,从未使用变量名称,因此您可以将其更改为img_create('MOG.A')
。
这来自viewtopic.php
,而不是Javascript。