我的javascript代码如下:
<SCRIPT LANGUAGE=javascript>
<!--
// 字型及文字大小设置
function ff_change() { skin.href = document.getElementById('ff').value; }
function fs_change() { skin.href = document.getElementById('fs').value; }
//-->
</SCRIPT>我的html代码如下
<select onchange="ff_change(this.value)" name="ff" id="ff">
<option value="songti.css" selected>文字型式</option>
<option value="kaiti.css">楷体</option>
<option value="heiti.css">黑体</option>
</select>
<select onchange="fs_change(this.value)" name="fs" id="fs">
<option value="14px.css" selected>文字大小</option>
<option value="20px.css">20px</option>
<option value="26px.css">26px</option>
</select>
存在的问题是:当读者选择了黑体样式文件时,再加载文字大小文件,则字型样式又复原了。怎么样才能保持读者先选择的字型样式同时又加载文字大小样式。
请求高手指教。
<SCRIPT LANGUAGE=javascript>
<!--
// 字型及文字大小设置
function ff_change() { skin.href = document.getElementById('ff').value; }
function fs_change() { skin.href = document.getElementById('fs').value; }
//-->
</SCRIPT>我的html代码如下
<select onchange="ff_change(this.value)" name="ff" id="ff">
<option value="songti.css" selected>文字型式</option>
<option value="kaiti.css">楷体</option>
<option value="heiti.css">黑体</option>
</select>
<select onchange="fs_change(this.value)" name="fs" id="fs">
<option value="14px.css" selected>文字大小</option>
<option value="20px.css">20px</option>
<option value="26px.css">26px</option>
</select>
存在的问题是:当读者选择了黑体样式文件时,再加载文字大小文件,则字型样式又复原了。怎么样才能保持读者先选择的字型样式同时又加载文字大小样式。
请求高手指教。
function getStyle( url )
{
var stl = document.createElement( "link" );
stl.type = "text/css";
stl.href = url;
document.head.appendChild( stl );
}function ff_change() { getStyle( document.getElementById('ff').value ); }
function fs_change() { getStyle( document.getElementById('fs').value ); }
<HTML>
<HEAD>
<link ID="skin" rel="stylesheet" type="text/css">
<TITLE>换肤技术</TITLE>
<SCRIPT LANGUAGE=javascript>
<!--
function getStyle( url )
{
var stl = document.createElement( "link" );
stl.type = "text/css";
stl.href = url;
document.head.appendChild( stl );
}
function ff_change() {getStyle( document.getElementById('ff').value ); }
//-->
</SCRIPT>
</HEAD>
<BODY>
<P>请选择下面的下拉菜单测试更换字体的效果</P>
<br><DIV id=appearance>
<select onchange="ff_change(this.value)" name="ff" id="ff">
<option value="kaiti.css">楷体</option>
<option value="heiti.css">黑体</option>
</select>
</DIV>
</BODY>
</HTML>以下是样式表
kaiti.css 样式文件
body { font-family: 楷体_GB2312;}
heiti.css 样式文件
body { font-family: 黑体;}
<style>
.fsong{font-family:"宋体";}
.fkaiti{font-family:"楷体";}
.fheiti{font-family:"黑体";}
.f14{font-size:14px;}
.f20{font-size:20px;}
.f26{font-size:26px;}
</style>
<body>
我的html代码如下
<select onchange="changeF()" name="ff" id="ff">
<option value="fsong" selected>文字型式</option>
<option value="fkaiti">楷体</option>
<option value="fheiti">黑体</option>
</select>
<select onchange="changeF()" name="fs" id="fs">
<option value="f14" selected>文字大小</option>
<option value="f20">20px</option>
<option value="f26">26px</option>
</select>
<script language="javascript">
<!--
// 字型及文字大小设置
var ff = document.getElementById('ff');
var fs = document.getElementById('fs');
function changeF(){document.body.className = ff.value + " " + fs.value}
//-->
</script>
</body>
我也曾经试过完全采用javascript在客户端设置网页界面,但对于较复杂的网页结构,包含表格超链接图片,如何保证表格不变形,超链接颜色与文字颜色相匹配,选用与背景相衬的图片,这些问题在一个样式表中定义多个class就不能胜任了。因此动态加载CSS文件实属必不得已。
我在一楼贴出的代码确实能够实现加载css,但是加载了字体样式文件后,再选择背景样式时,原加载的字体全又复原了。这我就不知道怎么办了。请求高手继续指教。
{
var oStyleSheet=document.styleSheets[document.styleSheets.length-1];
oStyleSheet.addImport( url );
}
你好,你的代码我发现在IE浏览器下可以,但是在firefox,netscspe下就不兼容了,请问还有没有好的能够兼容的方法。