程序员社区

【DOM】新闻字体示例

新闻字体示例

新闻字体的大中小样式的改变:
 1.现有新闻数据,并用标签封装
 2.定义一些页面样式
 3.确定事件源和事件,以及处理方式中被处理的节点
  事件源:a
  事件:onclick
  既然要给超链接加入自定义的事件处理,就要取消超链接的默认点击效果:href=“javascript:void(0)”
 4.用js处理页面的行为

在这里插入图片描述
在这里插入图片描述

<html>

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    
    /*设置样式*/
    <style type="text/css">
        /*超链接访问前和访问后样式一致*/
        a:link,a:visited{
            color: burlywood;
            /*超链接的文本样式设置为无,去除下划线*/
            text-decoration: none;
        }
        /*光标点上去变色*/
        a:hover{
            color: mediumvioletred;
        }

        #newstext{
            /*设置对象的边框宽度*/
            width: 500px;
            /*设置对象的边框高度*/
            /*height: 200px;*/
            /*设置边框颜色,宽度,类型*/
            border: greenyellow 1px solid;
            /*设置上下左右内间距*/
            padding: 10px;
            /*设置上下左右外间距*/
            /*margin: 5px;*/
        }
    </style>
    
    <script type="text/javascript">
        //定义改变字体的方法
        function changeFont(size,clr) {
            //既然要对div newstext中的文本进行操作,必须先获取div节点对象
            var div1=document.getElementById("newstext");
            //获取div1的style样式属性对象
            div1.style.fontSize=size;
            div1.style.color=clr;
        }
    </script>
</head>
<body>
<h1>这是一个新闻标题</h1>
<hr>
<a href="javascript:void(0)" onclick="changeFont('28px','#aaaaaa');">大字体</a>
<a href="javascript:void(0)" onclick="changeFont('16px','#ffff00');">中字体</a>
<a href="javascript:void(0)" onclick="changeFont('12px','#ff0000');">小字体</a>
<div id="newstext">
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
</div>
</body>
</html>

如果用户点击所需要的效果不唯一,通过传递多个参数虽然可以实现效果
问题:
传参是多阅读性差,js代码和css代码耦合性高,不利于扩展
解决方法:
将多个所需的样式进行封装,封装到选择器中,只要给指定的标签加载不同的选择器就可以了。
在这里插入图片描述

<html>

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">

        /*超链接访问前和访问后样式一致*/
        a:link,a:visited{
            color: burlywood;
            /*超链接的文本样式设置为无,去除下划线*/
            text-decoration: none;
        }
        /*光标点上去变色*/
        a:hover{
            color: mediumvioletred;
        }
        /*id选择器*/
        #newstext{
            /*设置对象的边框宽度*/
            width: 500px;
            /*设置对象的边框高度*/
            /*height: 200px;*/
            /*设置边框颜色,宽度,类型*/
            border: greenyellow 1px solid;
            /*设置上下左右内间距*/
            padding: 10px;
            /*设置上下左右外间距*/
            /*margin: 5px;*/
        }
        /*
        预定义一些样式封装到选择器,一般使用类选择器
        id选择器的优先级高于类选择器
        */
        .norm{
            color: hotpink;
            font-size: 16px;
            background-color: pink;
        }
        .max{
            color: cornflowerblue;
            font-size: 28px;
            background-color: lightcoral;
        }
        .min{
            color: lightblue;
            font-size: 28px;
            background-color: burlywood;
        }

    </style>
    <script type="text/javascript">
        //定义改变字体的方法
        function changeFont(selectName) {
            //既然要对div newstext中的文本进行操作,必须先获取div节点对象
            var div1=document.getElementById("newstext");
            //获取div1的className属性对象
           div1.className=selectName;
        }
    </script>
</head>
<body>
<h1>这是一个新闻标题</h1>
<hr>
<a href="javascript:void(0)" onclick="changeFont('max');">大字体</a>
<a href="javascript:void(0)" onclick="changeFont('norm');">中字体</a>
<a href="javascript:void(0)" onclick="changeFont('min');">小字体</a>
<div id="newstext">
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
    这是新闻内容这是新闻内容这是新闻内容这是新闻内容
</div>
</body>
</html>

在这里插入图片描述

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【DOM】新闻字体示例

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区