Javascript 如何让颜色在sIFR 3 r436中工作?
我有一本书;您可以查看源代码以了解我正在尝试做什么 正如你所看到的,除了颜色之外,它的一切似乎都在发挥作用。我试图将颜色设置为蓝色(#0000ff),但它保持为黑色。我为我的字体创建了一个自定义SWF文件,嵌入了单个字体的四种不同变体,以适应每个字体的不同样式(因为这个特定字体系列将常规、粗体、斜体和粗体四种不相交的字体名称存储) 为了子孙后代,我将粘贴我链接到此处的演示页面中的一些源代码:Javascript 如何让颜色在sIFR 3 r436中工作?,javascript,css,flash,sifr,Javascript,Css,Flash,Sifr,我有一本书;您可以查看源代码以了解我正在尝试做什么 正如你所看到的,除了颜色之外,它的一切似乎都在发挥作用。我试图将颜色设置为蓝色(#0000ff),但它保持为黑色。我为我的字体创建了一个自定义SWF文件,嵌入了单个字体的四种不同变体,以适应每个字体的不同样式(因为这个特定字体系列将常规、粗体、斜体和粗体四种不相交的字体名称存储) 为了子孙后代,我将粘贴我链接到此处的演示页面中的一些源代码: <style type="text/css"> h1.sifr { color: #
<style type="text/css">
h1.sifr {
color: #0000ff;
font-family: 'Myriad Pro';
font-size: 1.75em;
margin-bottom: 0;
}
</style>
<script type="text/javascript">
var myriad_pro = {src: 'myriad_pro.swf'};
sIFR.activate(myriad_pro);
sIFR.replace(myriad_pro, {
selector: 'h1.sifr',
css: {
'.sIFR-root': {'color': '#0000ff', 'font-family' : 'Myriad Pro'},
'em': {'color': '#0000ff', 'font-family' : 'Myriad Pro Italic' , 'font-style' : 'plain'},
'strong': {'color': '#0000ff', 'font-family' : 'Myriad Pro Bold' , 'font-weight' : 'normal'},
'em strong, strong em': {'color': '#0000ff', 'font-family' : 'Myriad Pro Bold Italic' , 'font-style' : 'plain', 'font-weight' : 'normal'}}
}
);
</script>
h1.sifr{
颜色:#0000ff;
字体系列:“Myriad Pro”;
字号:1.75em;
页边距底部:0;
}
var myriad_pro={src:'myriad_pro.swf'};
sIFR.激活(myriad_pro);
sIFR.更换(myriad_pro{
选择器:“h1.sifr”,
css:{
“.sIFR root':{'color':'#0000ff','font family':'Myriad Pro'},
“em”:{“color”:“#0000ff”,“字体系列”:“Myriad Pro Italic”,“字体样式”:“plain”},
'strong':{'color':'#0000ff','font family':'Myriad Pro Bold','font weight':'normal'},
“em-strong,strong-em”:{“color”:“#0000ff”,“font-family”:“Myriad Pro Bold Italic”,“font-style”:“plain”,“font-weight”:“normal”}
}
);
我忘了什么?我如何让颜色工作?我让它工作了。唯一的区别是我的sifr文本包含在链接中,鼠标悬停时它会改变颜色
我的脚本如下所示:
<script language="javascript" type="text/javascript">
//sIFR.useStyleCheck = true;
var eurostile = {
src: '/images/eurostile.swf'};
sIFR.activate(eurostile);
sIFR.replace(eurostile , {selector: "div#mainNav li", wmode: "transparent",
css: [
'a { text-decoration: none; color: #666666; }'
,'a:link { color: #666666; }'
,'a:hover { color: #00299b; }'
]});
sIFR.replace(eurostile , {selector: "div.menuHeadingText", wmode: "transparent"
,css: [
'.sIFR-root { color: #FFFFFF; }',
'a { text-decoration: none; color: #FFFFFF; }'
,'a:link { color: #FFFFFF; }'
,'a:hover { color: #FF5A00; }'
]});
sIFR.replace(eurostile , {selector: "h2.boxHeading", wmode: "transparent"
,css: [
'.sIFR-root { color: #666666; }'
]});
<script type="text/javascript">
var myriad_pro = {src: 'myriad_pro.swf'};
sIFR.activate(myriad_pro);
sIFR.replace(myriad_pro, {
selector: 'h1.sifr',
css: {
'.sIFR-root': {'color': '#0000ff'}
}
});
</script>
//sIFR.useStyleCheck=true;
var eurostile={
src:'/images/eurostile.swf'};
sIFR.激活(eurostile);
sIFR.replace(eurostile,{选择器:“div#mainNav li”,wmode:“transparent”,
css:[
'a{文本装饰:无;颜色:#666666;}'
,'a:link{color:#666666;}'
,'a:hover{color:#0029b;}'
]});
替换(eurostile,{选择器:“div.menuHeadingText”,wmode:“transparent”
,css:[
“.sIFR根{color:#FFFFFF;}”,
'a{文本装饰:无;颜色:#FFFFFF;}'
,'a:link{color:#FFFFFF;}'
,'a:hover{color:#FF5A00;}'
]});
sIFR.replace(eurostile,{选择器:“h2.boxHeading”,wmode:“transparent”
,css:[
“.sIFR根{color:#666666;}”
]});
希望能有帮助
/Klaus您可能需要将颜色值大写,它不应该是
字体样式:普通
而不是普通
?好的,对不起,伙计们。结果我只是想得太多了。最后,我重新导出了我的SWF文件(我想我第一次可能做得有点不正确),并大大简化了JavaScript。我仍然在Flash文件中包含了所有“四种”字体的嵌入副本——我将主动态文本框设置为Myriad Pro/Regular,然后我又创建了3个动态文本框(其中没有文本),分别设置为粗体、斜体和粗体斜体。然后,我确保在所有这些角色上单击“角色嵌入”,并确保包含我想要的角色
最后,我的JavaScript看起来像这样:
<script language="javascript" type="text/javascript">
//sIFR.useStyleCheck = true;
var eurostile = {
src: '/images/eurostile.swf'};
sIFR.activate(eurostile);
sIFR.replace(eurostile , {selector: "div#mainNav li", wmode: "transparent",
css: [
'a { text-decoration: none; color: #666666; }'
,'a:link { color: #666666; }'
,'a:hover { color: #00299b; }'
]});
sIFR.replace(eurostile , {selector: "div.menuHeadingText", wmode: "transparent"
,css: [
'.sIFR-root { color: #FFFFFF; }',
'a { text-decoration: none; color: #FFFFFF; }'
,'a:link { color: #FFFFFF; }'
,'a:hover { color: #FF5A00; }'
]});
sIFR.replace(eurostile , {selector: "h2.boxHeading", wmode: "transparent"
,css: [
'.sIFR-root { color: #666666; }'
]});
<script type="text/javascript">
var myriad_pro = {src: 'myriad_pro.swf'};
sIFR.activate(myriad_pro);
sIFR.replace(myriad_pro, {
selector: 'h1.sifr',
css: {
'.sIFR-root': {'color': '#0000ff'}
}
});
</script>
var myriad_pro={src:'myriad_pro.swf'};
sIFR.激活(myriad_pro);
sIFR.更换(myriad_pro{
选择器:“h1.sifr”,
css:{
“.sIFR root':{'color':'#0000ff'}
}
});
我不必更改字体或任何东西,但我仍然必须确保所有四个都包含在Flash文件中。回想起来,当我说
字体系列:“Myriad Pro Italic”
等时,它确实起作用,这似乎有点奇怪,因为从技术上讲,这不是字体名称。但不管是什么原因导致了与颜色的冲突,所以当我把它称为普通的老版“Myriad Pro”并让它算出斜体和粗体时,一切都起了作用。和@Mark-小写/大写颜色十六进制代码并不重要。但是,它必须是完整的6位十六进制代码(即#00f不起作用)。我从您链接的页面中获取HTML、CSS和JS,并将其更改为加载我自己的SWF文件。而且颜色也起作用了。然而,这只是一种字体(Myriad Pro Regular)。但是,当我尝试像上面那样混合不同的字体(常规、粗体、斜体和粗体)时,它没有工作——它没有显示任何文本!看来我可以使用颜色,或者我可以使用多种字体,但不能同时使用两种。谢谢你的建议,但这不起作用关于字体样式:normal,您是对的,尽管这部分已经正常工作了,所以我猜当它看到一些它无法识别的东西时,它只是假设它是正常的。我试过#0000ff、#0000ff、rgb(0,0255)和rgb(0,0255)都没用。