Javascript 另一个函数调用的函数不使用CSS
下面代码中的问题是从一个函数调用另一个函数,然后所有格式都会丢失-函数domenu使用相关页码调用doarticle OK,但doarticle函数根本不使用CSS进行格式设置。如果我独立调用函数,那么一切都正常,只有当我从另一个调用函数时,问题才会出现 使用FIREBUG监控CSS:当调用doarticle函数时,所有CSS数据都会从DOM中消失Javascript 另一个函数调用的函数不使用CSS,javascript,css,function,Javascript,Css,Function,下面代码中的问题是从一个函数调用另一个函数,然后所有格式都会丢失-函数domenu使用相关页码调用doarticle OK,但doarticle函数根本不使用CSS进行格式设置。如果我独立调用函数,那么一切都正常,只有当我从另一个调用函数时,问题才会出现 使用FIREBUG监控CSS:当调用doarticle函数时,所有CSS数据都会从DOM中消失 <!DOCTYPE html> <html> <head> <meta http-equiv="C
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=9" />
<meta name="viewport" content="user-scalable=no, width=768" />
<link rel="apple-touch-icon" href="images/guide_icon.png"/>
<title>The Guide</title>
<style type="text/css">
body
{
width:768px;
background: #FFFFFF;
border-width: 0px;
border-style: solid;
border-color: #FFFFFF;
padding: 0;
margin: auto;
position:relative;
}
div, span
{
font-family:Arial,Helvetica,sans-serif;
font-size:140%;
font-weight:normal;
text-align:justify;
color:#000000;
}
img.imgpadded
{
padding: 12px 7px 7px 7px ;
}
img.imgborder
{
width:764px;
border-width: 2px;
border-style: solid;
border-color: #FFFFFF;
}
span.footnum
{
font-family:Arial,Helvetica,sans-serif;
font-size:110%;
font-weight:normal;
color:#FF3300;
}
span.foottext
{
font-family:Arial,Helvetica,sans-serif;
font-size:110%;
font-weight:normal;
color:#000000;
}
div.topic
{
font-family:Arial,Helvetica,sans-serif;
font-size:100%;
font-weight:bold;
color:#6D8BE6;
}
div.title
{
font-family:Arial,Helvetica,sans-serif;
font-size:250%;
font-weight:bold;
color:#000000;
}
div.summary
{
font-family:Arial,Helvetica,sans-serif;
font-size:115%;
font-weight:normal;
color:#000000;
}
span.menutitle
{
font-family:Arial,Helvetica,sans-serif;
font-size:100%;
font-weight:bold;
color:#6D8BE6;
}
span.menusummary
{
font-family:Arial,Helvetica,sans-serif;
font-size:80%;
font-weight:normal;
color:#000000;
}
div.bigquote
{
font-family:Arial,Helvetica,sans-serif;
font-size:210%;
font-weight:normal;
color:#000033;
}
img.banner
{
width: 768px;
vertical-align: bottom;
}
sup
{
font-family:Arial,Helvetica,sans-serif;
font-size:50%;
font-weight:bold;
color:#FF3300;
}
blockquote
{
font-family:Arial,Helvetica,sans-serif;
font-size:100%;
font-weight:normal;
color:#000000;
margin:20px 0 20px 20px;
padding:10px 10px 10px;
background-color:#eee;
border-left:4px solid #6D8BE6;
}
ul
{
list-style-type:none;
padding:10px;
margin:0px;
}
li
{
background-image:url(images/blue_square.png);
background-repeat:no-repeat;
background-position:0px 5px;
padding-left:30px;
padding-right:50px;
}
</style>
向导
身体
{
宽度:768px;
背景:#FFFFFF;
边框宽度:0px;
边框样式:实心;
边框颜色:#FFFFFF;
填充:0;
保证金:自动;
位置:相对位置;
}
司
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:140%;
字体大小:正常;
文本对齐:对齐;
颜色:#000000;
}
img.imgpadded
{
填充:12px 7px 7px 7px;
}
img.imgborder
{
宽度:764px;
边框宽度:2倍;
边框样式:实心;
边框颜色:#FFFFFF;
}
足量
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:110%;
字体大小:正常;
颜色:#FF3300;
}
span.foottext
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:110%;
字体大小:正常;
颜色:#000000;
}
分区主题
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:100%;
字体大小:粗体;
颜色:#6D8BE6;
}
部门名称
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:250%;
字体大小:粗体;
颜色:#000000;
}
分部摘要
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:115%;
字体大小:正常;
颜色:#000000;
}
span.menutitle
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:100%;
字体大小:粗体;
颜色:#6D8BE6;
}
货币
{
字体系列:Arial、Helvetica、无衬线字体;
字号:80%;
字体大小:正常;
颜色:#000000;
}
大引号分区
{
字体系列:Arial、Helvetica、无衬线字体;
字号:210%;
字体大小:正常;
颜色:#000033;
}
旗帜
{
宽度:768px;
垂直对齐:底部对齐;
}
啜饮
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:50%;
字体大小:粗体;
颜色:#FF3300;
}
块引用
{
字体系列:Arial、Helvetica、无衬线字体;
字体大小:100%;
字体大小:正常;
颜色:#000000;
利润率:20px 0 20px 20px;
填充:10px 10px 10px;
背景色:#eee;
左边框:4px实心#6D8BE6;
}
保险商实验室
{
列表样式类型:无;
填充:10px;
边际:0px;
}
锂
{
背景图片:url(images/blue_square.png);
背景重复:无重复;
背景位置:0px 5px;
左侧填充:30px;
右边填充:50px;
}
上面的Metas和CSS
下面的文章是HTML呈现引擎
<script type="text/javascript">
function doarticle (counter)
{
// document.body.innerHTML = "";
hhgaudio = 0;
strpos = 0;
hhgstring = "";
if (hhgdata[counter][2].substring(strpos,(strpos+7)) === "<HHGML>")
{
strpos = 7;
if (hhgdata[counter][2].substring(strpos,(strpos+8)) == "<BANNER>") // large banner at the top of the article
{
strpos = strpos +8;
while (hhgdata[counter][2].substring(strpos,(strpos+9)) != "</BANNER>")
{
hhgstring = hhgstring + hhgdata[counter][2].substring(strpos,(strpos+1));
strpos++;
}
strpos = strpos + 9;
hhgstring = "<img id=\"banner\" src=\"" + imgpath + hhgstring + "\" style=\"vertical-align: top\"/>";
}
hhgstring = "<img class=\"banner\" src=\"" + imgpath + "hhg_entry.jpg\" style=\"vertical-align: bottom\"/><br/>" + hhgstring;
document.write(hhgstring);
hhgstring = "<table frame=\"void\" border=\"0\" cellpadding=\"2\"><tr><td>";
hhgstring = hhgstring + "<div class=\"topic\">"+ (hhgdata[counter][0].toUpperCase()) + "<br/></div>"; // main article topic
hhgstring = hhgstring + "<div class=\"title\">" + hhgdata[counter][1] + "</div>"; // main article title
hhgstring = hhgstring + "<div class=\"summary\">" + (hhgdata[counter][3].toUpperCase()) + "</div>"; // article sub heading
hhgstring = hhgstring + "</td></tr></table>"
document.write(hhgstring);
hhgstring = "";
footernum = 0;
}
document.write("<br/><table border=\"0\" cellpadding=\"10\"><tr><td><span>Entry Ends.</span></tr></table><br/>");
} // end of <HHGML>
</script>
函数doarticle(计数器)
{
//document.body.innerHTML=“”;
hhgaudio=0;
strpos=0;
hhgstring=“”;
if(hhgdata[counter][2]。子字符串(strpos,(strpos+7))==“”)
{
strpos=7;
if(hhgdata[counter][2]。子字符串(strps,(strps+8))==“”//文章顶部的大横幅
{
strpos=strpos+8;
while(hhgdata[counter][2]。子字符串(strpos,(strpos+9))!=“”)
{
hhgstring=hhgstring+hhgdata[计数器][2]。子字符串(strpos,(strpos+1));
strps++;
}
strpos=strpos+9;
hhgstring=“”;
}
hhgstring=“
”+hhgstring;
document.write(hhgstring);
hhgstring=“”;
hhgstring=hhgstring++(hhgdata[counter][0].toUpperCase())+“
”;//主要文章主题
hhgstring=hhgstring+“”+hhgdata[counter][1]+“”;//主要文章标题
hhgstring=hhgstring++(hhgdata[counter][3].toUpperCase())++;//文章子标题
hhgstring=hhgstring+“”
document.write(hhgstring);
hhgstring=“”;
footernum=0;
}
文件。写(“
条目结束。
”);
}//结束
菜单列表功能
<script type="text/javascript">
function domenu (lastrecord)
{
hhgstring = "<br/><br/><table border=\"0\" cellpadding=\"0\">";
for (counter=1; counter<lastrecord; counter++)
{
recnum = lastrecord - counter;
// hhgstring = hhgstring + "<tr><td><img id=\"imgpadded\" src=\"" + imgpath + hhgdata[recnum][4] + "\" align=\"left\"></td>";
hhgstring = hhgstring + "<tr><td>" + hhgdata[recnum][4] + "</td>";
hhgstring = hhgstring + "<td><span class=\"menutitle\" onclick=\"doarticle('" +recnum+ "');\">" + tab + hhgdata[recnum][1] + "<br/></span>";
hhgstring = hhgstring + "<span class=\"menusummary\">" + tab + hhgdata[recnum][3] + "</span></td></tr>";
}
hhgstring = hhgstring + "</table>";
document.write(hhgstring);
// return(hhgselect); // older idea now depreciated.
}
</script>
</head>
<body>
函数domenu(最后记录)
{
hhgstring=“
”;
对于(计数器=1;计数器;
hhgdata=新阵列(numrows);
hhgfooter=新阵列(10);
将PHP转换为Javascript变量
<script type="text/javascript">
counter = <?php echo $counter; ?>;
hhgtitle = <?php echo '"'.$hhgtitle.'"'; ?>;
hhgtopic = <?php echo '"'.$hhgtopic.'"'; ?>;
hhgarticle = <?php echo '"'.$hhgarticle.'"'; ?>;
hhgsummary = <?php echo '"'.$hhgsummary.'"'; ?>;
hhgidimg = <?php echo '"'.$hhgidimg.'"'; ?>;
hhgdata[counter] = new Array(5);
hhgdata[counter][0]= hhgtopic;
hhgdata[counter][1]= hhgtitle;
hhgdata[counter][2]= hhgarticle
hhgdata[counter][3]= hhgsummary;
hhgdata[counter][4]= hhgidimg;
</script>
<?php
$counter++;
}
mysql_close($con);
?>
计数器=;
hhgtitle=;
hhgtopic=;
hhgarticle=;
hhgsummary=;
hhgidimg=;
hhgdata[计数器]=新阵列(5);
hhgdata[计数器][0]=hhgtopic;
hhgdata[计数器][1]=hhgtitle;
hhgdata[计数器][2]=hhgarticle
hhgdata[计数器][3]=hhg摘要;
hhgdata[计数器][4]=hhgidimg;
调用菜单脚本
<script type="text/javascript">
imgpath = "images/";
tab = " ";
hhgselect = domenu (numrows);
doarticle (hhgselect);
// document.body.innerHTML = ""; // clears the screen
</script>
</body>
</html>
imgpath=“images/”;
tab=“”;
hhgselect=domenu(numrows);
doarticle(hhgselect);
//document.body.innerHTML=“;//清除屏幕
在“domenu”函数中,您将返回一个变量hhgselect。但该变量未在该函数中使用,也未通过php初始化。请验证。文档。write函数应替换为:
document.getElementById(divname).InnerHTML=“contents”
方法
这就是我所做的,它现在运行良好。这是大量的代码…你不能创建一个简单的例子来重现问题(去掉所有不必要的东西)?如果是关于样式的,你也应该创建一个演示。我不是上帝在我的头脑中可视化CSS样式…@FelixKling这可能是你在这里指出的吗?你如何重新应用样式Paisle?我已经将CSS添加到一个文件中,这样我就可以使用link rel了。有没有办法在函数中重新加载文件?@Paisle:是的,可能。我现在注意到了OP正在使用
文档。write
@user1150866:使用其他方法操作DOM。documen
<script type="text/javascript">
imgpath = "images/";
tab = " ";
hhgselect = domenu (numrows);
doarticle (hhgselect);
// document.body.innerHTML = ""; // clears the screen
</script>
</body>
</html>