这段代码是我从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();