Javascript ReferenceError:$未为原始flot库定义

Javascript ReferenceError:$未为原始flot库定义,javascript,jquery,firebug,flot,Javascript,Jquery,Firebug,Flot,各位,我在原来的flot.js库中发现了这个错误。 我想知道这部分脚本有什么问题? *错误是来自Firefox的shwon Fire bug 错误消息为: ReferenceError: $ is not defined $(document).ready(function () { 开始声明为错误代码的行是: $(document).ready(function () { $.plot($("#flot-placeholder1"), dataset, options); $("#flo

各位,我在原来的flot.js库中发现了这个错误。 我想知道这部分脚本有什么问题? *错误是来自Firefox的shwon Fire bug 错误消息为:

ReferenceError: $ is not defined

$(document).ready(function () { 
开始声明为错误代码的行是:

$(document).ready(function () {
$.plot($("#flot-placeholder1"), dataset, options);
$("#flot-placeholder1").UseTooltip();
}); 
下面是错误行之前的内容:

 <script>
//******* 2012 Gold Price Chart
var data1 = [
[gd(2012, 0, 1), 1652.21], [gd(2012, 1, 1), 1742.14], [gd(2012, 2, 1), 1673.77], [gd(2012, 3, 1), 1649.69],
[gd(2012, 4, 1), 1591.19], [gd(2012, 5, 1), 1598.76], [gd(2012, 6, 1), 1589.90], [gd(2012, 7, 1), 1630.31],
[gd(2012, 8, 1), 1744.81], [gd(2012, 9, 1), 1746.58], [gd(2012, 10, 1), 1721.64], [gd(2012, 11, 2), 1684.76]
];
var data2 = [
[gd(2012, 0, 1), 0.63], [gd(2012, 1, 1), 5.44], [gd(2012, 2, 1), -3.92], [gd(2012, 3, 1), -1.44],
[gd(2012, 4, 1), -3.55], [gd(2012, 5, 1), 0.48], [gd(2012, 6, 1), -0.55], [gd(2012, 7, 1), 2.54],
[gd(2012, 8, 1), 7.02], [gd(2012, 9, 1), 0.10], [gd(2012, 10, 1), -1.43], [gd(2012, 11, 2), -2.14]
];
var dataset = [
{ label: "Gold Price", data: data1, points: { symbol: "triangle"} },
{ label: "Change", data: data2, yaxis: 2 }
];
var options = {
series: {
lines: {
show: true
},
points: {
radius: 3,
fill: true,
show: true
}
},
xaxis: {
mode: "time",
tickSize: [1, "month"],
tickLength: 0,
axisLabel: "2012",
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial',
axisLabelPadding: 10
},
yaxes: [{
axisLabel: "Gold Price(USD)",
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial',
axisLabelPadding: 3,
tickFormatter: function (v, axis) {
return $.formatNumber(v, { format: "#,###", locale: "us" });
}
}, {
position: "right",
axisLabel: "Change(%)",
axisLabelUseCanvas: true,
axisLabelFontSizePixels: 12,
axisLabelFontFamily: 'Verdana, Arial',
axisLabelPadding: 3
}
],
legend: {
noColumns: 0,
labelBoxBorderColor: "#000000",
position: "nw"
},
grid: {
hoverable: true,
borderWidth: 2,
borderColor: "#633200",
backgroundColor: { colors: ["#ffffff", "#EDF5FF"] }
},
colors: ["#FF0000", "#0022FF"]
};
======================更新===================================================== 大家好。谢谢你的回答! 以下是正确加载脚本的顺序,因为我在DW CS4中对其进行了测试 1.jquery-1.8.3.min.js 2.jquery.flot.min.js 3.jquery.flot.time.js 4.jquery.flot.symbol.js 5.jquery.flot.axislabels.js 6.jshashtable-2.1.js 7.jquery.numberformatter-1.2.3.min.js

所以我认为这个命令不应该是问题,下面是教程告诉我在这里做的:

我还发现这些代码被Firefox/firebug屏蔽了,也许会有帮助。止损点放在代码->的第二行前面“$this.bindplot…”

$.fn.UseTooltip = function () {
$(this).bind("plothover", function (event, pos, item) {
if (item) {
if ((previousLabel != item.series.label) || (previousPoint != item.dataIndex)) {
previousPoint = item.dataIndex;
previousLabel = item.series.label;
$("#tooltip").remove();
var x = item.datapoint[0];
var y = item.datapoint[1];
var color = item.series.color;
var month = new Date(x).getMonth();
//console.log(item);
if (item.seriesIndex == 0) {
showTooltip(item.pageX,
item.pageY,
color,
"<strong>" + item.series.label + "</strong><br>" + monthNames[month] + " : <strong>" + y + "</strong>(USD)");
} else {
showTooltip(item.pageX,
item.pageY,
color,
"<strong>" + item.series.label + "</strong><br>" + monthNames[month] + " : <strong>" + y + "</strong>(%)");
}
}
} else {
$("#tooltip").remove();
previousPoint = null;
}
});
}; 
谢谢

凯文的回答在评论中有进一步的问题……

错误如下:

$(document)
未定义$。这意味着您要么没有包含jQuery,要么包含得太晚,要么使用的$.noConflict不正确

更具体地说,$==undefined,undefined不是一个函数,因此无法执行。

错误如下:

$(document)
未定义$。这意味着您要么没有包含jQuery,要么包含得太晚,要么使用的$.noConflict不正确


更具体地说,$==undefined,undefined不是一个函数,因此无法执行。

这意味着您需要在HTML页面中包含jQuery。在运行$document之前,请将此引用或其他引用添加到jQuery库。就绪行:

$是指jQuery库,在使用它之前,它必须是可用的


此外,在加载jQuery库之后,还需要加载flot库。flot是一个jQuery插件,因此它依赖于jQuery库。

这意味着您需要在HTML页面中包含jQuery。在运行$document之前,请将此引用或其他引用添加到jQuery库。就绪行:

$是指jQuery库,在使用它之前,它必须是可用的


此外,在加载jQuery库之后,还需要加载flot库。flot是一个jQuery插件,因此它取决于jQuery库。

嗨,Kevin,谢谢你的回答,但是“或者不正确地使用了$.noConflict”是什么意思?我在脚本中看到这个函数出现在几个不同的地方,但我不知道它们怎么可能不正确,因为它是原始代码?嗨,凯文,谢谢你的回答,但是它是什么意思“或者正在错误地使用$.noConflict”?我在脚本中看到这个函数出现在几个不同的地方,但我不知道它们怎么可能是不正确的,因为它是原始代码?谢谢lan,我添加了更多细节来帮助您解决这个问题。请让我知道,如果你想有进一步的要求。谢谢兰,我添加了进一步的细节,以帮助你解决这个问题。如果你有进一步的要求,请告诉我。