这段代码是我从Highcharts的代码中改造出来的,非常感谢Highcharts的作者,先链上Highcharts的地址http://www.highcharts.com/,(Highcharts的统计图代码非常棒,功能超强大,大家可以试试)!
下面附上js区域打印的代码
/****************************************功能代码******************************/
(function(){
window.JPrint = {
print: function () {
var doc = document,
win = window,
container = doc.getElementById("container"),//这里就是你要打印的区域的id,也可以参数传过来,你们懂的:-)
origDisplay = [],
origParent = container.parentNode,
body = doc.body,
NONE = 'none',
childNodes = body.childNodes;
each = function (arr, fn) {
var i = 0,
len = arr.length;
for (; i < len; i++) {
if (fn.call(arr[i], arr[i], i, arr) === false) {
return i;
}
}
};
each(childNodes, function (node, i) {
if (node.nodeType === 1) {
origDisplay[i] = node.style.display;
node.style.display = NONE;
}
});
body.appendChild(container);
win.print();
setTimeout(function () {
origParent.appendChild(container);
each(childNodes, function (node, i) {
if (node.nodeType === 1) {
node.style.display = origDisplay[i];
}
});
}, 1000);
}
};
}());
/*******************************下面是用法**********************************/ JPrint.print();