求助牛人
当触发了这个方法以后
想在该方法内打印出div的内容(背景图片加value)就是网页里看到的这个层的内容
不打印出该页内其他的内容
打印指定层<script type="text/javascript">
var maxLength = 8;
function addZero(e)
{
var demoData = document.getElementById("myfield").value;
demoData = demoData.toString();
var originalLen = demoData.length ;
if(originalLen < maxLength)
{
for(var i = 0; i < maxLength-originalLen; i++)
{
demoData = "0" + demoData;
}
document.getElementById("dataDiv").innerHTML = "<div id='gg' style='position:absolute;top:135px;left:640px;width:310px; height:220px; text-align:center;z-index:10;filter:Alpha(opacity=100);border:4px #6db247 solid; background-color:#FFFFFF;'><table WIDTH=310 HEIGHT=190 cellspacing='0' cellpadding='0'><tr bgColor='#6db247'><td width=100%><table width=100% height=24><tr><td align=left width=85%><b>打印</b><font color='#E8893C'></font></td><td align=right onClick=closeDiv()><span style='cursor:pointer;'>关闭</a></td></tr></table></td></tr><tr><td height='190' colspan=10 align=center><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=190 valign='top' background='http://www.hi-sir.com/c83de31de2cf44a8a54ef8901846356d.GIF'><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=136> </td></tr><tr><td height=18><span style='margin-left:105px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr><tr><td height=10></td></tr><tr><td height=18><span style='margin-left:65px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr></table></td></tr></table></td></tr></table></div>";
document.getElementById("dataDiv").style.display="block";
}
}
</script>
<li style="margin-left:20px; text-align:left; cursor:pointer;" onClick="addZero();">打印</li><input id="myfield" type="hidden" value="11111">
当触发了这个方法以后
想在该方法内打印出div的内容(背景图片加value)就是网页里看到的这个层的内容
不打印出该页内其他的内容
打印指定层<script type="text/javascript">
var maxLength = 8;
function addZero(e)
{
var demoData = document.getElementById("myfield").value;
demoData = demoData.toString();
var originalLen = demoData.length ;
if(originalLen < maxLength)
{
for(var i = 0; i < maxLength-originalLen; i++)
{
demoData = "0" + demoData;
}
document.getElementById("dataDiv").innerHTML = "<div id='gg' style='position:absolute;top:135px;left:640px;width:310px; height:220px; text-align:center;z-index:10;filter:Alpha(opacity=100);border:4px #6db247 solid; background-color:#FFFFFF;'><table WIDTH=310 HEIGHT=190 cellspacing='0' cellpadding='0'><tr bgColor='#6db247'><td width=100%><table width=100% height=24><tr><td align=left width=85%><b>打印</b><font color='#E8893C'></font></td><td align=right onClick=closeDiv()><span style='cursor:pointer;'>关闭</a></td></tr></table></td></tr><tr><td height='190' colspan=10 align=center><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=190 valign='top' background='http://www.hi-sir.com/c83de31de2cf44a8a54ef8901846356d.GIF'><table width=300 border=0 cellspacing=0 cellpadding=0><tr><td height=136> </td></tr><tr><td height=18><span style='margin-left:105px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr><tr><td height=10></td></tr><tr><td height=18><span style='margin-left:65px; font-size:14px; font-weight:bold;'>"+demoData+"</span></td></tr></table></td></tr></table></td></tr></table></div>";
document.getElementById("dataDiv").style.display="block";
}
}
</script>
<li style="margin-left:20px; text-align:left; cursor:pointer;" onClick="addZero();">打印</li><input id="myfield" type="hidden" value="11111">
通用的控制显示等当在另一个DIV
打印的时候把控制的DIV隐藏.
打印后把DIV显示.我那时候用的是SCRIPTX
var printDoc = function(obj){
var wa = window.open("about:blank","print","width=740,resizable=no,menubar=yes,scrollbars=yes,left=0,top=0");
var abody = wa.document.open();
var printStr = '<title>Print</title>';
printStr += '<style>html,body{background:#fff;margin:0;padding:0;}#x{width:700px;padding:0 10px;text-align:left;background:#fff;}</style>';
printStr += '<div id="x">';
printStr += obj.innerHTML;
printStr += '</div>';
abody.write(printStr);
abody.close();
wa.print();
printStr = null;
abody = wa = null;
this.hideMenu();
};
把如下代码加入<body>区域中
<script language="JavaScript">
<!--
//该函数在调用过程中只需要在将要点击的单元格内的onclick事件中调用showme函数即可
//function showme(obj1, obj2)该函数主要为使点击的对象高亮度显示,并调用moveme函数,参数obj1为母体即<div>标签的id,obj2为点击对象本身
//function moveme(obj)该函数判断单元的移动,并调用相应的函数处理,obj参数为母体
//function moveup(obj,objtop)该函数使一个单元向上移动,参数obj为母体,objtop为母体的本身最高高度
//function movedown(obj,objbuttom)该函数使一个单元向下移动,参数obj为母体,objbuttom为母体的本身最低高度var headHeight = 22;//每个标题的高度
var bodyHeight = 160;//母体高度
var objcount = 6;//项目的个数,要改变了项目的个数别忘了该这个东西
var step = 6;//移动速度(请确认可以被'bodyHeight-headHeight'整除,当前的设定可选速度为1,2,3,6,23,138)
var moving = false;//是否有移动的项目function showme(obj1, obj2)
{
//以下循环为改变标题的背景颜色
if (moving)
return;
moving = true;
for(i=0;i<document.all.tags("td").length;i++)
if (document.all.tags("td")[i].className.indexOf('headtd') == 0)
document.all.tags("td")[i].className = 'headtd1';
obj2.className = 'headtd2';
moveme(obj1);
}function moveme(obj)
{
idnumber = parseInt(obj.id.substr(4));
objtop = headHeight * (idnumber - 1);
objbuttom = bodyHeight + headHeight * (idnumber - 2);
currenttop = parseInt(obj.style.top);
if (currenttop >= objbuttom)
{
//检验出每一个应该向上移动的层
countid = 1;
for(i=0;i<document.all.tags("div").length;i++)
if (document.all.tags("div")[i].id == 'item'+countid+'body')
{
obj = document.all.tags("div")[i];
objtop = headHeight * (countid - 1);
if (countid == idnumber)
{
moveup(obj,objtop,false);
break;
}
else
moveup(obj,objtop,true);
countid++;
}
}
else if ((currenttop <= objtop) && (idnumber < objcount))
{
//检验出每一个应该向下移动的层
idnumber++;
countid = objcount;
for(i=document.all.tags("div").length-1;i>=0;i--)
if (document.all.tags("div")[i].id == 'item'+countid+'body')
{
obj = document.all.tags("div")[i];
objbuttom = bodyHeight + headHeight * (countid - 2);
if (countid == idnumber)
{
movedown(obj,objbuttom,false);
break;
}
else
movedown(obj,objbuttom,true);
countid--;
}
}
}function moveup(obj,objtop,ismove)
{
currenttop = parseInt(obj.style.top);
if (currenttop > objtop)
{
obj.style.top = currenttop - step;
setTimeout('moveup('+obj.id+','+objtop+','+ismove+')',1)
return;
}<center>
<script language="javascript">
function preview()
{
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->";
eprnstr="<!--endprint-->";
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML=prnhtml;
window.print();
//prnform.htext.value=prnhtml;
//prnform.submit();
//alert(prnhtml);
}
</script>
这些内容是不会被打印的<br>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<center>本部分以上不被打印</center>
<!--startprint-->
<table width="70%" align="center" bgcolor="#0000FF" cellpadding="2" cellspacing="1">
<tr bgcolor="#6699FF">
<td>
<div align="center">标题一</div>
</td>
<td>
<div align="center">标题二</div>
</td>
<td>
<div align="center">标题三</div>
</td>
<td>
<div align="center">标题四</div>
</td>
</tr>
<tr bgcolor="#6699FF">
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
<!--endprint-->
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br>
这些内容是不会被打印的
<div align="center">
<input type="button" name="print" value="预览并打印" onclick="preview()">
</div>
</center>
<head>
<style type="text/css" media="print">
.noprint{display : none }
</style>
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript" src="print.js"></script>
</head>
<body
<form id="form1">
<!--------- header --------->
<!--------- end header --------->
<div class="clear_float">
</div>
<table width="100%" class="main_wrap">
<tr>
<td width="250" valign="top" align="left">
<!--------- sidebar --------->
<div>
<a id="printOK" href="javascript:void 0;" runat="server">print</a><br />
<a id="back" href="" runat="server">back</a></span>
</div>
</td>
<!--------- end sidebar --------->
<!--------- container --------->
<td valign="top" align="left">
<div>
<div id="result_show" class="result_show">
<!------ print list results ------>
</div>
</div>
<!--------- end container --------->
</td>
</tr>
</table>
<iframe id="frmPrint" name="frmPrint" frameborder="0" scrolling="no" width="0" height="0" src="print_page.htm"></iframe>
</form>
</body>
js脚本
if(document.getElementById("printOK")){
$("#printOK").ready(function(){
$("#printOK").click(function(){
var resultObj = document.getElementById("result_show");
if(resultObj){
if (window.print) {
document.getElementById("frmPrint").contentWindow.document.body.innerHTML = resultObj.innerHTML;
document.getElementById("frmPrint").contentWindow.focus();
document.getElementById("frmPrint").contentWindow.print();
}
}
});
});
}
ifram页面 print_page.htm<head>
<title>content</title>
<style type="text/css" media="print">
.noprint{display : none }
</style>
<script>
var _obj = this;
</script>
</head>
<body>
<div id="_printContainer"></div>
<a class="noprint" onclick="_obj.print();" id="_print">print</a>
</body>
可兼容ie6、7,firfox,safari等浏览器。