我有一個js文件這行代碼正確顯示沒有正確渲染。怎麼了?斷線元素沒有被腳本
這段代碼來自一個sigma.js圖形樣本,該樣本生成關於節點懸停的工具提示。
這裏是代碼的其餘部分:
sigma.canvas.hovers.def = function (node, context, settings) {
var x,
y,
w,
h,
e,
fontStyle = settings('hoverFontStyle') || settings('fontStyle'),
prefix = settings('prefix') || '',
size = node[prefix + 'size'],
fontSize = (settings('labelSize') === 'fixed') ?
settings('defaultLabelSize') :
settings('labelSizeRatio') * size;
// Label background:
context.font = (fontStyle ? fontStyle + ' ' : '') +
fontSize + 'px ' + (settings('hoverFont') || settings('font'));
context.beginPath();
context.fillStyle = settings('labelHoverBGColor') === 'node' ?
(node.color || settings('defaultNodeColor')) :
settings('defaultHoverLabelBGColor');
if (settings('labelHoverShadow')) {
context.shadowOffsetX = 0;
context.shadowOffsetY = 0;
context.shadowBlur = 8;
context.shadowColor = settings('labelHoverShadowColor');
}
if (typeof node.label === 'string') {
x = Math.round(node[prefix + 'x'] - fontSize/2 + 20);
y = Math.round(node[prefix + 'y'] - fontSize/40 - 80);
w = Math.round(
context.measureText("lable: " + node.label).width + fontSize/2 + size + 7
);
h = Math.round(fontSize + 70);
e = Math.round(fontSize/20 + 1);
context.moveTo(x, y + e);
context.arcTo(x, y, x + e, y, e);
context.lineTo(x + w, y);
context.lineTo(x + w, y + h);
context.lineTo(x + e, y + h);
context.arcTo(x, y + h, x, y + h - e, e);
context.lineTo(x, y + e);
context.closePath();
context.fill();
context.shadowOffsetX = 0;
context.shadowOffsetY = 0;
context.shadowBlur = 0;
}
// Node border:
if (settings('borderSize') > 0) {
context.beginPath();
context.fillStyle = settings('nodeBorderColor') === 'node' ?
(node.color || settings('defaultNodeColor')) :
settings('defaultNodeBorderColor');
context.arc(
node[prefix + 'x'],
node[prefix + 'y'],
size + settings('borderSize'),
0,
Math.PI * 2,
true
);
context.closePath();
context.fill();
}
// Node:
var nodeRenderer = sigma.canvas.nodes[node.type] || sigma.canvas.nodes.def;
nodeRenderer(node, context, settings);
// Display the label:
if (typeof node.label === 'string') {
context.fillStyle = (settings('labelHoverColor') === 'node') ?
(node.color || settings('defaultNodeColor')) :
settings('defaultLabelHoverColor');
context.fillText(
"label: " + node.label + "<br/>" + "id: " + node.id + "<br/>" + "size: " + node.size,
Math.round(node[prefix + 'x'] + size + 10),
Math.round(node[prefix + 'y'] - 60)
);
}
};
什麼是您預期的輸出? – dikesh
它看起來像你試圖在字符串中使用jQuery對象'$('')''。我不確定你的代碼在做什麼,但是隻用'
'試一下(不要把它包裝在$()) –
或者嘗試使用''\ n'' – doniyor