说明:关于实现这个用途的文章,一般只是直接给了代码,没有对关键知识点的必要解释。本文侧重讲解原理和关键点,为方便网友使用,在后面附加了具体的代码,可实现将选择的风格名称存到cookie里去。
正文:
想要进行网页的换肤,如果用普通的获取各个显示对象然后更改对象的各项STYLE属性或者只是CLASS属性,缺点是十分明显的:
1、涉及对大量的网页内对象读写,并可能操作多项STYLE属性,JS代码量多。
2、STYLE代码分散,缺乏组织,更改维护麻烦。
那么更好的方法是什么呢? 就是直接对LINK对象进行切换设置。大家知道,通过LINK可以引用外部的CSS文件,使之对当前页面内容生效。一般语法是这样的:
<link type="text/css" rel="stylesheet" href="http://theforever.myid/theforever.css" />
假设网页提供了N种风格供切换,就可以用N条这样的语句,把CSS文件引进来。需要注意的是,除当前生效CSS以外的LINK标签应该这样写:
<link type="text/css" rel="alternate stylesheet" href="http://theforever.myid/theforever.css" />
alternate的意思是“供替换的”,这样浏览器就不会根据这套暂时不想生效的CSS对页面显示进行实际的设置。
那么如何来切换当前生效的CSS文件,产生换肤效果呢? 就是利用LINK对象的disabled属性。当disabled属性为真时,该LINK对象失效,当disabled属性为假时,则该LINK对象生效。
这样一来就知道,有针对地设置相应的LINK对象的disabled属性,就可以实现切换了。
如何将用户的选择和LINK对象一一对应起来呢? 这个方法就多了:
1.可以给LINK加不同的ID属性,然后document.getElementsById('用户选择的LINK's ID')就得到了指定的LINK。
2.可以给LINK加不同的TITLE属性,然后遍历所有document.getElementsByTagName('link'),取每个LINK对象的TITLE进行对比。
3.可以给LINK加不同的自定义属性,然后同上。
至于如何取得用户所选择的显示风格(或说皮肤)的名称,这个方式就更多了,也很简单,就不列出某个固定的方式了。
原本不想引用罗列具体的代码,但为了方便一些懒惰成性的朋友,还是附加了一套现成的代码,可实现将用户选择的界面风格名称存到cookie里去,下次打开网页就会看到上次更改的界面风格:
作者:赵亮(theforever,碧海情天,on csdn.net)
分享到:
相关推荐
总的来说,网页换肤是通过CSS和JavaScript的结合实现的,它增强了用户与网页的互动,提升了网站的吸引力和用户满意度。设计师和开发者需要关注皮肤的多样性和适应性,同时确保换肤过程对性能的影响降到最低。通过...
总的来说,"js+css3文字上下滚动切换动画特效"是一个结合了前端两种核心技术的实践案例,展示了如何通过JavaScript的动态控制与CSS3的动画效果,创造出引人注目的网页交互体验。无论是用于网站标题、通知栏还是其他...
就比如我在css目录下面写了一个css样式文档:style.css。这时里面只有一句话: XML/HTML Code复制内容到剪贴板 body { background-color: #ddd; } 然后再我的html文件里面去引入这个外部css: XML/...
此外,为了确保用户切换皮肤时的平滑过渡,可以在CSS中加入适当的过渡效果,或者使用JavaScript控制加载过程,例如通过设置`link`元素的`disabled`属性,避免新皮肤立即生效,直到旧皮肤完全淡出。 总结来说,"js无...
提供的文件"css1.css"和"css2.css"是两种不同的皮肤样式,可以通过修改`<link>`标签指向这两个文件之一来实现换肤。"test.htm"可能是测试页面,用来验证换肤功能是否正常工作。"说明.txt"可能包含了实现该功能的...
JavaScript动态换肤是一种常见的网页交互设计,允许用户根据个人喜好更改网站的主题颜色或风格。在提供的文件中,我们可以看到三个关键文件:`b.css`、`a.css`和`Index.html`。这些文件共同协作来实现这个功能。 ...
本篇文章将深入探讨如何使用CSS文件轻松地改变网页的显示效果,帮助您理解CSS的核心概念和应用。 首先,让我们理解为什么我们需要CSS样式表。在早期的网页设计中,HTML(HyperText Markup Language)负责结构化内容...
如,zencart网站的下载安全的其他插件中,如果有两个都带有 同一个 javascript 文件(例如:jQuery),那么它将会被加载两次, 不过要使得这个功能生效的话,那么开发者必须都使用CJ Loader插件来加载 css和javascript 文件,...
这样,应用程序可以根据用户选择的语言加载相应的XML节点,从而显示正确的文本。 为了实现实时语言切换,我们需要在Winform应用中添加一些关键组件和代码。以下是一些关键步骤: 1. **设计界面**:确保所有需要...
在ASP.NET开发中,动态引用和添加JS及CSS文件是一项常用且...综上所述,通过`HtmlGenericControl`和适当的方法调用,可以在ASP.NET应用中轻松实现动态引用和添加JS及CSS文件,为用户提供更加个性化和响应式的网页体验。
3. **外部样式表(External Style Sheet)**:外部样式表存储在以`.css`为扩展名的文件中,多个网页可以引用同一个CSS文件,实现样式复用。例如: ```html <link href="styles.css" rel="stylesheet" type="text/...
总的来说,Vue Element项目中的`styles`文件是项目样式管理的核心部分,它负责存储和管理全局样式,通过在`main.js`中引入,确保这些样式在整个项目中生效。合理地使用和组织`styles`文件,可以提高项目的可维护性和...
2. **层叠原则**:CSS的"Cascading"体现在当多个规则应用于同一元素时,会根据层叠规则决定哪个生效。一般而言,更具体的规则优先,后定义的规则覆盖前定义的规则。 3. **盒模型**:CSS盒模型描述了元素如何占据...
首先,`hover.css`文件很可能是包含了一系列预定义的CSS样式,这些样式在用户将鼠标指针悬停在元素上时会生效。这些动画效果可能包括颜色变换、透明度调整、旋转、缩放、滑动等多种视觉效果,旨在提升用户体验和交互...
**CSS Flexible Box(Flexbox)** 是CSS3中引入的一项重大布局改进,旨在解决复杂的网页布局问题,特别是在响应式设计中的应用。它提供了一种更加灵活、统一的方式来控制元素的排列、对齐和分配空间,使得开发者在...
每个CSS文件都会被转换为一个JavaScript对象,其中类名被自动转换为唯一字符串,确保组件的样式只对其自身生效。 2. **CSS-in-JS** CSS-in-JS是一种将CSS写在JavaScript代码中的风格,比如使用styled-components库...
在提供的源码中,`style.css`和`main.css`是两个CSS文件,它们包含了实现时间轴效果的具体样式规则。可能包含对时间轴线的样式定义,如颜色、粗细、以及时间点的样式,包括形状、大小、颜色等。同时,还可能有过渡和...
浏览器可能会缓存旧的CSS或JS文件,尝试强制刷新(Ctrl+F5)或清除浏览器缓存来测试新更改是否生效。 8. **错误日志**: 查看Spring Boot应用的日志,尤其是关于HTTP请求处理的错误信息,这有助于定位问题所在。 ...
在"猫眼界面"的实现中,`style.css`文件包含了所有关于布局、颜色、字体和动画的规则。我们可以用CSS选择器如类选择器(`.class`)、ID选择器(`#id`)以及元素选择器(`element`)来定位并修改特定的HTML元素。例如,...
本案例中提到的"案例所需要的css+js文件"可能是一个项目或应用的基础结构,包含了实现特定视觉效果和交互所需的样式表和脚本文件。 首先,我们来详细了解一下CSS。CSS是一种样式表语言,它允许开发者通过分离内容和...