网页特效时都会用到JS,问一个JS问题
JS文件正常,内容假设为a,这时候,网页能正常显示.
当把JS文件内容写成这样(document.write("<script>a</scritp>");),这时候就不正常了,有经验的知道什么回事吗?
JS文件正常,内容假设为a,这时候,网页能正常显示.
当把JS文件内容写成这样(document.write("<script>a</scritp>");),这时候就不正常了,有经验的知道什么回事吗?
调试欢乐多
document.write("<script>a</script>");
我详细说下我要做的步骤:
一个可以正常显示的JS内容如下:
var imgs = new Array();
var simgs = new Array();
var hrefs = new Array();
var digest = new Array();
/* 大图 */
imgs[imgs.length] ="img/1.jpg";
imgs[imgs.length] ="img/2.jpg";
imgs[imgs.length] ="img/3.jpg";
imgs[imgs.length] ="img/4.jpg";
//imgs[imgs.length] ="/cms/flash/p-19.gif";
/* 小图 */
simgs[simgs.length] ="img/1.jpg";
simgs[simgs.length] ="img/2.jpg";
simgs[simgs.length] ="img/3.jpg";
simgs[simgs.length] ="img/4.jpg";
//simgs[simgs.length] ="/cms/flash/p-19s.gif";
/* 链接 */
hrefs[hrefs.length] = "http://www.wc3c.com";
hrefs[hrefs.length] = "http://www.0668.com";
hrefs[hrefs.length] = "http://bbs.0668.com";
hrefs[hrefs.length] = "http://www.4sb.cn";
/* 标题 */
digest[digest.length] = "零点智慧";
digest[digest.length] = "茂名资讯网";
digest[digest.length] = "0668论坛";
digest[digest.length] = "4SB";
var nn=1;
function change_img(i){
if(arguments[0] != null){
nn=i;
window.clearInterval(tt);
}
showJdt(nn++);
if( (nn)>imgs.length ){ nn=1;}
tt=setTimeout("change_img()",5000);
} function showJdt(i){
onClass(i-1);
var bimg = document.getElementById("jdt_img");
var jdtlink = document.getElementById("jdt_link");
var jdttext = document.getElementById("jdt_text");
bimg.setAttribute("src",imgs[i-1]);
jdtlink.setAttribute("href",hrefs[i-1]);
jdttext.innerHTML = digest[i-1];
} function onClass(n){
var obj = document.getElementById("jdt_small_pics");
var pics = obj.getElementsByTagName("li");
for(var i=0;i<pics.length;i++){
pics[i].className = "off";
}
pics[n].className = "on";
}
var jdtStyle = "";
jdtStyle += "<style type=\"text\/css\"> ";
jdtStyle += "#jdt_small_pics {float:left;width:100%;height:70px;padding-left:0;margin-left:0;margin-top:0}";
jdtStyle += " *html #jdt_small_pics {height:60px}";
jdtStyle += "#jdt_small_pics img{cursor:hand;width:78px;height:50px;float:left;margin:0;padding:0;border:1px solid #fff} ";
jdtStyle += "#jdt_small_pics li.on {line-height:0;cursor:hand;margin-right:3px;display:inline;float:left;padding-top:8px;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;background:url(http:\/\/image.yesky.com\/TLimages\/chinabyte\/newscenter\/images\/jdt_arrow.gif) center 2px no-repeat} ";
jdtStyle += "#jdt_small_pics li.off {line-height:0;margin-right:3px;float:left;display:inline;padding-top:8px;filter:alpha(opacity=50);-moz-opacity:0.5;opacity:0.5} ";
jdtStyle += "#jdt_small_pics .on img {border:1px solid #c00} ";
jdtStyle += "#jdt_small_pics .off img {border:1px solid #bbb} ";
jdtStyle += "li {list-style:none} ";
jdtStyle += "<\/style> ";
document.write(jdtStyle);
var jdtHtml = "";
jdtHtml += "<div id=\"jdt080604\" style=\"float:left;width:100%;height:100%\"> ";
jdtHtml += " <div id=\"jdt_big_pics\" style=\"width:100%;height:200px;position:relative\"><a href=\""+hrefs[0]+"\" id=\"jdt_link\"><img src=\""+imgs[0]+"\" id=\"jdt_img\" width=\"330\" height=\"200\" border=\"0\"\/><\/a> ";
jdtHtml += " <div style=\"filter:alpha(opacity=80);-moz-opacity:0.8;opacity:0.8;position:absolute;left:0;top:179px;width:100%;height:21px;background:#015595;\"><\/div> ";
jdtHtml += " <div style=\"position:absolute;left:0;top:179px;width:100%;height:21px;line-height:21px;color:#fff;font-size:12px;font-weight:bold;text-align:center;text-indent:1em;overflow:hidden;white-space:nowrap;\" id=\"jdt_text\">"+digest[0]+"<\/div> ";
jdtHtml += " <\/div> ";
jdtHtml += " <ul id=\"jdt_small_pics\"> ";
for(var i=0;i<imgs.length;i++){
if(i != 0 && i != (simgs.length-1) ){
jdtHtml += " <li class=\"off\"><a href=\""+hrefs[i]+"\"><img src=\""+simgs[i]+"\" width=\"75\" height=\"58\" border=\"0\" onmouseover=\"onClass(1);change_img("+(i+1)+")\"\/> <\/a>";
}else if(i == 0){
jdtHtml += " <li class=\"on\"><a href=\""+hrefs[i]+"\"><img src=\""+simgs[i]+"\" width=\"75\" height=\"58\" border=\"0\" onmouseover=\"onClass(0);change_img("+(i+1)+")\" \/> <\/a>";
}else{
jdtHtml += " <li class=\"off\" style=\"margin-right:0\"><a href=\""+hrefs[i]+"\"><img src=\""+simgs[i]+"\" width=\"75\" height=\"58\" border=\"0\" onmouseover=\"onClass(3);change_img("+(i+1)+")\"\/> <\/a>";
}
}
jdtHtml += " <\/ul> ";
jdtHtml += " <\/div> ";
document.write(jdtHtml);
change_img();function setTab(name,cursel,n,fun){
for(i=1;i<=n;i++){
var menu=document.getElementById(name+i);
var con=document.getElementById("con_"+name+"_"+i);
menu.className=i==cursel?"hover":"";
if(con!=null){
con.style.display=i==cursel?"block":"none";
}
}
if(fun!=''&&fun!=undefined){
var exfun=eval(fun);
}
}现在问题就是把这个JS内容作为一个JS模板,程序就读这个模板,在生成JS文件的时候,程序死定生成JS文件的内容格式为document.write("[!--这里是读模板的数据--]");
这知道明白我的意思不?