`
txf2004
  • 浏览: 7042525 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript FAQ(十七)

阅读更多

十三、颜色

1. 背景色(Background Color

Q:如何修改页面背景色?

A:可以通过设置document.bgcolor属性来改变背景色。例如,把背景色改为灰色:

document.bgColor="#CCCCCC" // set to gray

现在就试一下(译者注:由于CSDN上代码会被自动修改,所以省去了例子):

这里选择框由下列代码创建:

2. 前景色(Foreground Colors

Q:如何更改页面的文本和超链接的颜色?

A:你可能被告知前景色(也就是文本和链接的颜色)是不可能改变的,因为JavaScript属性document.fgColordocument.linkColor以及类似的一些都是只读的,你不能设置这些属性。这意味着,在页面BODY标签中定义的颜色将保持不变,无论你尝试设置什么;你所能做的就是改变背景色。

嗯,这种说法不错……几乎正确……不过试一下这个:

BGcolor light red light blue light yellow gray whiteTEXT color dark gray dark green dark blue blue brown blackLINK color dark gray dark green dark blue blue brown blackVLINK color dark gray dark green dark blue blue brown black

它的原理是:脚本保存新的颜色设置,然后重载页面,读取保存的设置并使用document.write重写BODY标签设置新颜色。什么?保存?你可能会问,JavaScript真的可以保存文件???

这个技巧很简单:脚本不能把新的颜色设置保存到文件,但是却可以保存为另外一个窗口或者框架的变量。另外,即使没有另外的窗口或者框架变量,那么脚本仍然可以使用cookie.

这个页面上的脚本同时使用了两种技术,cookie和顶层框架中的变量。因此,这个脚本只有在用户禁用cookie或者该页本来就是浏览器的顶层窗口,不能重设文本和链接的颜色。如果你想重用这段代码,只需要从该页的源代码中赋值就行了。

只有一个终极提示:在Internet Explorer 4中,属性document.fgColor, document.linkColordocument.vlinkColor、document.alinkColor不再是只读。你可以设置这些属性的值而改变颜色。

下面是原文例子中的源代码:

HTML:

JavaScript(在HEAD中):

3. Hex-to-RGB转化(Hex-to-RGB Conversion

Q:如何把一个十六进制的颜色字符串(例如,“FFFFCC”)转化相同颜色的数字RGB值?

A:下面的脚本完成了这个转化:

试一下:

<!-- R = HexToR("#FFFFFF"); G = HexToG("#FFFFFF"); B = HexToB("#FFFFFF"); function HexToR(h) { return parseInt((cutHex(h)).substring(0,2),16) } function HexToG(h) { return parseInt((cutHex(h)).substring(2,4),16) } function HexToB(h) { return parseInt((cutHex(h)).substring(4,6),16) } function cutHex(h) { return (h.charAt(0)=="#") ? h.substring(1,7) : h} // -->

R: G: B:

4. RGB-to-Hex转化(RGB-to-Hex Conversion

Q:如何将RGB表示的颜色转化一个十六进制的字符串。

A:算法是:保证RGB值在0……255之间,转化RGB值到hex字符串,然后合并三个字符串。

下面是转化脚本:

译者注:示例省略,可以到原文页面运行。

5. 颜色名称(Color Names

Q:JavaScript支持的颜色名称有哪些?

A:在旧版浏览器中(如Internet Explorer 3.x),JavaScript只支持16个颜色名称:

aqua #00FFFF lime #00FF00 silver #C0C0C0
black #000000 maroon #800000 teal #008080
blue #0000FF navy #000080 white #FFFFFF
fuchsia #FF00FF olive #808000 yellow #FFFF00
gray #808080 purple #800080
green #008000 red #FF0000

在较新版本的浏览器中,支持很多颜色名称(见下面的列表)。你可以在这里试一下这些颜色(译者注:在这里不能运行,请到原文页):

<!-- function printTable (tableCells,tableWidth) { var tableRows=Math.ceil(tableCells.length/tableWidth); var tableBuf='<table border=0 cellspacing=0 cellpadding=0>\n'; for (var K=0;K<tableRows;K++) { tableBuf+='<tr>'; for (var L=0;L<tableWidth;L++) { var M=K+L*tableRows; tableBuf+='<td><nobr><small><code>'+((M<tableCells.length)?(tableCells[M]):'')+'&nbsp;&nbsp;</code></small></nobr></td>'; } tableBuf+='</tr>\n'; } document.writeln(tableBuf+'</table>'); } theColors=new Array( '#F0F8FF aliceblue' ,'#FAEBD7 antiquewhite' ,'#00FFFF aqua' ,'#7FFFD4 aquamarine' ,'#F0FFFF azure' ,'#F5F5DC beige' ,'#FFE4C4 bisque' ,'#000000 black' ,'#FFEBCD blanchedalmond' ,'#0000FF blue' ,'#8A2BE2 blueviolet' ,'#A52A2A brown' ,'#DEB887 burlywood' ,'#5F9EA0 cadetblue' ,'#7FFF00 chartreuse' ,'#D2691E chocolate' ,'#FF7F50 coral' ,'#6495ED cornflowerblue' ,'#FFF8DC cornsilk' ,'#DC143C crimson' ,'#00FFFF cyan' ,'#00008B darkblue' ,'#008B8B darkcyan' ,'#B8860B darkgoldenrod' ,'#A9A9A9 darkgray' ,'#006400 darkgreen' ,'#BDB76B darkkhaki' ,'#8B008B darkmagenta' ,'#556B2F darkolivegreen' ,'#FF8C00 darkorange' ,'#9932CC darkorchid' ,'#8B0000 darkred' ,'#E9967A darksalmon' ,'#8FBC8F darkseagreen' ,'#483D8B darkslateblue' ,'#2F4F4F darkslategray' ,'#00CED1 darkturquoise' ,'#9400D3 darkviolet' ,'#FF1493 deeppink' ,'#00BFFF deepskyblue' ,'#696969 dimgray' ,'#1E90FF dodgerblue' ,'#B22222 firebrick' ,'#FFFAF0 floralwhite' ,'#228B22 forestgreen' ,'#FF00FF fuchsia' ,'#DCDCDC gainsboro' ,'#F8F8FF ghostwhite' ,'#FFD700 gold' ,'#DAA520 goldenrod' ,'#808080 gray' ,'#008000 green' ,'#ADFF2F greenyellow' ,'#F0FFF0 honeydew' ,'#FF69B4 hotpink' ,'#CD5C5C indianred' ,'#4B0082 indigo' ,'#FFFFF0 ivory' ,'#F0E68C khaki' ,'#E6E6FA lavender' ,'#FFF0F5 lavenderblush' ,'#7CFC00 lawngreen' ,'#FFFACD lemonchiffon' ,'#ADD8E6 lightblue' ,'#F08080 lightcoral' ,'#E0FFFF lightcyan' ,'#FAFAD2 lightgoldenrodyellow' ,'#90EE90 lightgreen' ,'#D3D3D3 lightgrey' ,'#FFB6C1 lightpink' ,'#FFA07A lightsalmon' ,'#20B2AA lightseagreen' ,'#87CEFA lightskyblue' ,'#778899 lightslategray' ,'#B0C4DE lightsteelblue' ,'#FFFFE0 lightyellow' ,'#00FF00 lime' ,'#32CD32 limegreen' ,'#FAF0E6 linen' ,'#FF00FF magenta' ,'#800000 maroon' ,'#66CDAA mediumaquamarine' ,'#0000CD mediumblue' ,'#BA55D3 mediumorchid' ,'#9370DB mediumpurple' ,'#3CB371 mediumseagreen' ,'#7B68EE mediumslateblue' ,'#00FA9A mediumspringgreen' ,'#48D1CC mediumturquoise' ,'#C71585 mediumvioletred' ,'#191970 midnightblue' ,'#F5FFFA mintcream' ,'#FFE4E1 mistyrose' ,'#FFE4B5 moccasin' ,'#FFDEAD navajowhite' ,'#000080 navy' ,'#FDF5E6 oldlace' ,'#808000 olive' ,'#6B8E23 olivedrab' ,'#FFA500 orange' ,'#FF4500 orangered' ,'#DA70D6 orchid' ,'#EEE8AA palegoldenrod' ,'#98FB98 palegreen' ,'#AFEEEE paleturquoise' ,'#DB7093 palevioletred' ,'#FFEFD5 papayawhip' ,'#FFDAB9 peachpuff' ,'#CD853F peru' ,'#FFC0CB pink' ,'#DDA0DD plum' ,'#B0E0E6 powderblue' ,'#800080 purple' ,'#FF0000 red' ,'#BC8F8F rosybrown' ,'#4169E1 royalblue' ,'#8B4513 saddlebrown' ,'#FA8072 salmon' ,'#FAA460 sandybrown' ,'#2E8B57 seagreen' ,'#FFF5EE seashell' ,'#A0522D sienna' ,'#C0C0C0 silver' ,'#87CEEB skyblue' ,'#6A5ACD slateblue' ,'#708090 slategray' ,'#FFFAFA snow' ,'#00FF7F springgreen' ,'#4682B4 steelblue' ,'#D2B48C tan' ,'#008080 teal' ,'#D8BFD8 thistle' ,'#FF6347 tomato' ,'#40E0D0 turquoise' ,'#EE82EE violet' ,'#F5DEB3 wheat' ,'#FFFFFF white' ,'#F5F5F5 whitesmoke' ,'#FFFF00 yellow' ,'#9ACD32 yellowgreen' ); // -->

<!-- printTable(theColors,3); // -->

分享到:
评论

相关推荐

    javascript FAQ函数(提问+回复)

    JavaScript FAQ函数是一种常见的网页交互设计,它用于实现FAQ(常见问题解答)页面中问题与答案的展开和隐藏功能。在用户点击某个问题时,对应的答案会显示出来,而其他未被点击的问题答案则保持隐藏状态,以此提高...

    JavaScript_初学者文件,最终项目和FAQ为我的终极React课程.zip

    这个压缩包“JavaScript_初学者文件,最终项目和FAQ为我的终极React课程.zip”显然是为了帮助初学者掌握JavaScript以及进阶到React框架的知识而设计的。React是Facebook推出的一个用于构建用户界面的JavaScript库,...

    FAQ.zip_FAQ_在线FAQ制作_网站faq系统

    前端负责用户交互,可能使用React、Vue.js等现代JavaScript框架;后端处理业务逻辑和数据操作,可能选择Node.js、Python的Django或Flask框架,或者是Java的Spring Boot。数据库方面,MySQL或PostgreSQL是常用的选择...

    业务框架应用FAQ

    前台获取内存数据通常通过JavaScript或Vue等前端框架实现,需要了解对应框架的API。可能涉及到的数据源包括本地存储、组件状态或全局变量。 **FAQ10:新配置的FC未被调用** 新配置的功能组件(FC)未调用可能因为配置...

    jquery常见问题FAQ展开收缩列表效果

    同时,为了实现多语言或动态加载的FAQ,我们可以将问题和答案存储在JSON对象中,然后在JavaScript中动态生成HTML结构。这将使我们的代码更灵活,便于维护和扩展。 此外,考虑到性能和可访问性,我们应该避免对大量...

    jQuery toggle事件制作FAQ列表页.zip

    6. **结构化数据**:FAQ页面通常包含多条问题和答案,可以考虑将它们存储在JSON格式的数据中,然后在JavaScript中解析并动态渲染到页面上。这样做可以方便地管理和更新内容。 7. **响应式设计**:为了让FAQ列表在...

    开源项目-jzelinskie-faq.zip

    这个项目可能是一个基于JQ(可能是jQuery或者其他JavaScript库)的问题与解答(FAQ)系统,或者是一个用于处理FAQ数据的工具。尽管文件格式没有明确指定,但我们可以根据文件名推测这可能是一个代码仓库的主分支。 ...

    如何实现简单的FAQ折叠效果.rar

    本教程将详细介绍如何使用JavaScript实现简单的FAQ折叠效果。 首先,我们需要在HTML中构建FAQ的基础结构。每个问题-答案对应该包裹在一个容器内,例如`&lt;div&gt;`,并为问题和答案设置不同的CSS类。例如: ```html ...

    可展开和收缩的jquery FAQ问答列表特效

    在IT行业中,jQuery是一种广泛使用的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本文将详细探讨"可展开和收缩的jQuery FAQ问答列表特效"这一主题,以及它在实际应用中的相关知识点。 首先...

    css3列表FAQ问答特效.rar

    在压缩包中的文件"jiaoben286"可能是示例代码或一个项目文件,可能包含了实现这种CSS3列表FAQ问答特效的具体HTML结构、CSS样式以及JavaScript代码。通过查看和分析这些文件,你可以更深入地理解如何将这些技术应用于...

    FAQ管理全源代码 .rar_FAQ

    【标题】"FAQ管理全源代码 .rar_FAQ" 提供的是一个完整的FAQ(常见问题解答)管理系统的所有源代码。这个系统设计用于帮助用户高效地处理和管理与产品或服务相关的常见问题及其解答,提高客户支持和服务的质量。通过...

    FAQ可收缩jquery手风琴

    【jQuery FAQ可收缩手风琴】是一种常见的网页交互设计元素,它通过使用jQuery库实现了一个功能丰富的FAQ(常见问题解答)部分。这个设计允许用户点击问题标题,展开对应的答案,以此来节省页面空间并提高用户体验。...

    css3列表FAQ问答特效.zip

    在FAQ列表中,JavaScript可能被用来处理用户交互,比如当用户点击问题时,JavaScript可以控制相应的答案区域的显示和隐藏,实现动态展开和收起。同时,它还可以实现其他功能,如验证用户输入,或者在无刷新页面的...

    简单实用的jQuery FAQ手风琴特效

    "简单实用的jQuery FAQ手风琴特效"就是一种增强网站用户互动性的技术,它常用于常见问题解答(FAQ)部分,使得大量的信息可以以紧凑且易于浏览的方式呈现。这篇文章将深入探讨jQuery手风琴特效的原理、实现方法以及...

    jquery常见问答faq特效.rar

    在网页开发中,jQuery作为一个强大的JavaScript库,极大地简化了DOM操作、事件处理和动画制作。对于开发者而言,掌握jQuery的常见问题和解决方法,以及如何创建吸引人的FAQ(常见问题解答)特效,是提升网站用户体验...

    jQuery和css3简单实用的FAQ问答页面模板

    **jQuery和CSS3 FAQ问答页面模板详解** 在网页设计中,FAQ(常见问题解答)页面是必不可少的一部分,它能够提供用户快速找到问题解决方案的途径。本文将深入探讨一个基于jQuery和CSS3的FAQ问答页面模板,它具有人性...

    FAQ可收缩jquery手风琴导航.zip

    总结起来,这个“FAQ可收缩jquery手风琴导航”项目涵盖了前端开发的核心技术:HTML5用于构建网页结构,CSS负责样式和动画,JavaScript与jQuery库实现了交互功能。通过深入学习和实践这些技术,开发者可以创建出更加...

    faq.rar_FAQ_jsp faq_jsp 问答_jsp代码_问答

    在IT行业中,JSP(JavaServer Pages)是一种用于创建动态网页的技术,它是Java平台的一部分,提供了将HTML、CSS和JavaScript与服务器端Java代码相结合的能力。本FAQ(Frequently Asked Questions,常见问题解答)...

    jquery实现faq问答展开折叠.rar

    《使用jQuery实现FAQ问答展开与折叠的技巧》 ...结合HTML、CSS和JavaScript,我们可以创建出既美观又实用的交互式FAQ模块。在实际开发中,根据项目需求,可以进一步定制和扩展这些基础功能,以满足更多个性化的需求。

Global site tag (gtag.js) - Google Analytics