Python全栈最全学习之路-WEB前端练习(二)

本文通过三个实战案例介绍了如何使用JavaScript进行DOM操作、事件处理及定时器的实现。包括属性设置、轮播图效果制作以及时间显示与倒计时功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript练习

一、

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JavaScript第一次作业</title>
    <style>
        input{
            height: 25px;
            margin-bottom: 10px;
        }
        div{
            width: 200px;
            height: 200px;
            background: #60c4ff;
            line-height: 200px;
            text-align: center;
            color: #D2691E;
        }
    </style>
</head>
<body>&emsp;性:<input type="text" placeholder="请输入属性" name="attr"><br>
属性值:<input type="text" placeholder="请输入属性值" name="attr_va"><br>
<input type="button" value="设置属性"><br>
<div id="box">JavaScript有点意思!</div>
<script>
    var oPic = document.getElementsByTagName('input');
    var oBox = document.getElementById('box');
    oPic[2].onclick = function(){
        var att = oPic[0].value;
        var att_va = oPic[1].value;
        // oBox.style[att] = att_va; // 方法一
        // oBox.style.cssText = att + ":" + att_va; // 方法二
        oBox.setAttribute("style",att + ":" + att_va);
        oPic[0].value = "";
        oPic[1].value = "";
    }
</script>
</body>
</html>

在这里插入图片描述
总结:
1、div里面的内容居中
2、点击事件里面修改样式

二、

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="css/chognzhi.css">
    <style>
        .slide{
            width: 400px;
            height: 480px;
            border: 1px solid grey;
            margin: 100px auto;
            position: relative;
        }
        /*图片区域*/
        .slide .pic{
            position: absolute;
            top: 0;
            left: 0;
        }
        .slide .pic img{
            width: 400px;
            height: 480px;
        }
        .slide .pic li{
                display: none;
        }
        .slide .pic li.show{
            display: block;
        }
        /*左右箭头*/
        .slide .btn{
            height: 480px;
        }
        .slide .btn li{
            width: 25px;
            height: 20px;
            border: 1px solid grey;
            position: absolute;
            text-align: center;
            line-height: 20px;
            top: 50%;
            /*沿Y轴移本身的50%*/
            transform: translateY(-50%);
            /*小手*/
            cursor: pointer;
            /*圆角框*/
            border-radius: 4px;
        }
        .slide .btn li:hover{
            background: #a1d7ff;
            /*透明度*/
            opacity: 50%;
        }
        .slide .btn .left{
            left: 0;
        }
        .slide .btn .right{
            right: 0;
        }
        /*小圆圈*/
        .slide .tab{
            position: absolute;
            bottom: 5px;
            left: 50%;
            transform: translateX(-50%);
        }
        .slide .tab li{
            float: left;
            width: 10px;
            height: 10px;
            border: 2px solid grey;
            border-radius: 50%;
            background: grey;
            margin-left: 5px;
            cursor: pointer;
        }
        .slide .tab li:hover{
            border: 2px solid grey;
            background: #abffac;
        }
        .slide .tab li.on{
            border: 1px solid grey;
            background: #abffac;
        }
    </style>
</head>
<body>
<div class="slide">
<!--    图片列表-->
    <ul class="pic">
        <li class="show"><img src="images/hu1.jpg" alt="图片加载出错"></li>
        <li><img src="images/hu2.jpg" alt="图片加载出错"></li>
        <li><img src="images/hu3.jpg" alt="图片加载出错"></li>
        <li><img src="images/hu4.jpg" alt="图片加载出错"></li>
    </ul>
<!--    左右箭头-->
    <ul class="btn">
        <li class="left">&lt;</li>
        <li class="right">&gt;</li>
    </ul>
<!--    无序列表-->
    <ul class="tab">
        <li class="on"></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>
<script>
    var aPic = document.querySelectorAll(".pic li");
    var aTab = document.querySelectorAll(".tab li");
    // 小圆圈的点击事件
    for(let i=0;i<aTab.length;i++){
        aTab[i].onclick = function(){
            for(let i=0;i<aTab.length;i++){
                aPic[i].removeAttribute('class');
                aTab[i].removeAttribute("class");
            }
            aPic[i].className = "show";
            aTab[i].className = "on";
        }
    }
</script>
</body>
</html>

在这里插入图片描述
总结:
1、去掉样式
2、箭头和小圆圈
3、箭头和小圆圈的位置
4、图片的隐藏和出现

三、

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS第三次作业</title>
    <style>
        p{
            text-align: center;
            height: 80px;
            line-height: 80px;
            font-size: 22px;
        }
        span.time{
            color: red;
            font-size: 25px;
        }
        .after{
            color: red;
            font-weight: bold;
            font-size: 25px;
        }
        .hour{
            color: grey;
            font-size: 18px;
        }
    </style>
</head>
<body>
<p>
    <span class="word"></span>
    <span class="time"></span>
    <span class="word"></span>
</p>
<p>
    <span class="today"></span>
    <span class="hour"></span>
</p>
<script>
    var aWord = document.querySelectorAll(".word");
    var oTime = document.querySelector(".time");
    var oP = document.getElementsByTagName("p");
    var oToday = document.querySelector(".today");
    var oHour = document.querySelector(".hour");
    // 倒计时函数
    var times = 10;   //初始化的倒计时时间
    function func1() {
        if(times > 0){
            aWord[0].innerText = "距离上课还有"
            oTime.innerText = times;
            aWord[1].innerText = "秒!";
        }else{
            oP[0].innerText = "开始上课";
            oP[0].className = "after";
            // 清楚定时器
            clearInterval(timer1);
            clearInterval(timer2);
        }
        times--;
    }
    func1();
    timer1 = setInterval(func1,1000);

    // 北京时间的函数
    function func2(){
        var today = new Date();
        var year = today.getFullYear();
        var month = today.getMonth() + 1;
        var date = today.getDate();
        var hour = today.getHours();
        var min = today.getMinutes();
        var sec = today.getSeconds();
        if(min < 10){
            min = "0" + min;
        }
        if(sec < 10){
            sec = "0" + sec;
        }
        oToday.innerText = "北京时间:" + year + "年" + month + "月" + date + "日";
        oHour.innerText = hour + ":" + min + ":" + sec;
    }
    func2();
    timer2 = setInterval(func2,1000);
</script>
</body>
</html>

在这里插入图片描述
总结:
1、循环流程
2、文字生成
3、时间的获取,尤其是月份
4、定时器函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值