DOM(二)-02-(示例-新闻字体2)



在前一视频基础上,希望单击超链接后不光改变字号,还可以改变字体颜色,甚至改变背景




=============================================================================================================




【示例】


<html>
	<head>
		<style type="text/css">
		a:link,a:visited{
			color:#04F;
			text-decoration:none;
		}
		a:hover{
			color:#F80;
		}
		#newstext{
			width:500px;
			border:#0F0 1px solid;
			padding:10px;
		}
		
		/*预定义一些样式封装到选择器中,一般使用类选择器*/
			
		/*
		 *【特别注意】优先级:style样式>id选择器>类选择器
		 *在将一些预定义样式封装到各个选择器中时,可能出现在后续代码启用这些样式但是没出现应有效果的问题,这是因为
		 *优先级的问题,比如一个超链接原先样式用的是id选择器,现在新样式用类选择器,那么肯定无法呈现出新样式的效果,
		 *因为类选择器优先级不如id选择器。
		 */
		 
		.norm{/*预定义默认样式*/
			color:#000;
			font-size:16px;
			background-color:#cdd8d0;
		}
		.max{/*预定义“大字体”样式*/
			color:#808080;
			font-size:28px;
			background-color:#9ce9b4;
		}
		.min{/*预定义“小字体”样式*/
			color:#f00;
			font-size:12px;
			background-color:#f1b96d;
		}
		</style>
	</head>
	<body>
		<script type="text/javascript">
			
			function changFont(selectorName){
				
				var oNewsTextNode = document.getElementById("newstext");
				
				/*
				 *打开DHTML API文档,找到div对象,其属性一栏有三列内容:
				 *(1)第一列“标签属性”是HTML代码;
				 *(2)第二列“属性”是DOM代码;
				 *(3)第三列“描述”是解释说明。
				 *(如本程序用到的类选择器属性,在HTML代码中名称是CLASS,在DOM代码
				 *中名称是className)
				 */
				 
				oNewsTextNode.className = selectorName;
				
			}
			
			/*
			 *如果根据用户点击所需要的效果不唯一,仅通过传递多个参数虽然可以实现
			 *效果,但是有以下几个弊端:
			 *1.传参过多,阅读性差;
			 *2.js代码和css代码耦合性高;
			 *3.不利于扩展。
			 *(比如你想在单击“大字体”超链接时候出现10个效果,那么没必要在:
		     *<a href="javascript:void(0)" οnclick="changFont('28px','#AAA')">大字体</a>
			 *代码中传入10个参数,麻烦,所以可以将这些效果封装起来。)
			 *
			 *【解决方案】
			 *将多个所需的样式进行封装,封装到选择器中,只要给指定的标签加载不同的选择器即可。
			 *(就好像你去出席一个重要场合,需要大衣领带皮鞋等,那么直接将这些封装成“晚会服饰”,
			 *然后下次再出席,直接获取“晚会服饰”即可)
			 */
		
		</script>
	</body>
	<h1>这是一个新闻标题</h1>
	
	<hr/>
	
	<a href="javascript:void(0)" οnclick="changFont('max')">大字体</a>
	<a href="javascript:void(0)" οnclick="changFont('norm')">中字体</a>
	<a href="javascript:void(0)" οnclick="changFont('min')">小字体</a>
	
	<div id="newstext" class="norm">
	这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容
	这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容
	这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容
	这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容
	这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容这是新闻内容
	</div>
<html>








后期修改样式只要该三个类选择器:.norm   .max   .min即可,别的不用动,很方便


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值