HTML+CSS+JS实现的简单应用小案例分享

yizhihongxing

让我来为大家分享一下“HTML+CSS+JS实现的简单应用小案例”的攻略。

一、准备工作:

在开始实现之前,需要先做好一些准备工作,包括基础知识的掌握、开发工具的准备等。

1.掌握基础知识

  • HTML:了解 HTML 标签的基本使用方法,掌握常用标签和属性的含义;
  • CSS:掌握 CSS 的基础语法和常用属性;
  • JavaScript:了解 JavaScript 的基础语法和常用方法。

2.安装开发工具

  • 编辑器:Sublime Text、Visual Studio Code;
  • 浏览器:Chrome、Firefox、Safari等;
  • Web服务器:Nginx、Tomcat等。

二、实战操作:

接下来,我会举两个简单的小案例分享给大家。

1.图片轮播

实现过程:

  • 步骤一:使用HTML标签搭建轮播结构,设置默认显示图片;
  • 步骤二:使用CSS控制图片的显示和格式,并设置导航按钮样式;
  • 步骤三:使用JavaScript编写实现图片轮播的功能。

具体实现步骤:

步骤一:

<div class="slider-box">
    <ul class="img-box">
        <li><img src="img/1.jpg" /></li>
        <li><img src="img/2.jpg" /></li>
        <li><img src="img/3.jpg" /></li>
        <li><img src="img/4.jpg" /></li>
    </ul>
    <ul class="slider-nav">
        <li class="active"></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
</div>

这段代码是使用HTML标签搭建轮播结构,其中img标签内是显示的图片。

步骤二:

.slider-box {
    width: 600px;
    height: 400px;
    overflow: hidden;
    position: relative;
    margin: 10px auto;
}

.img-box {
    list-style: none;
    position: absolute;
    left: 0;
    top: 0;
}

.img-box li {
    float: left;
    width: 600px;
    height: 400px;
}

.slider-nav {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
}

.slider-nav li {
    float: left;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
}

.slider-nav li.active {
    background-color: #f60;
}

这段代码是使用CSS控制图片的显示和格式,并设置导航按钮样式,其中的slider-box是轮播的容器,设置了宽度、高度和边距等样式。img-box是包裹图片的容器,采用了绝对定位和左浮动的样式。slider-nav是导航按钮的容器,采用了绝对定位,排列样式是在中间横向排列。

步骤三:

let index = 0,                                            // 当前显示的图片序号
    imgBox = document.querySelector('.img-box'),           // 轮播图容器
    imgs = imgBox.children,                                // 图片列表
    len = imgs.length,                                     // 图片总数
    navs = document.querySelectorAll('.slider-nav li');    // 导航按钮列表

// 自动轮播函数
function start() {
    setInterval(() => {
        index++;
        if (index === len) {
            index = 0;
        }
        showImg(index);
    }, 2000);
}

// 显示指定图片
function showImg(i) {
    for (let j = 0; j < len; j++) {
        imgs[j].style.display = 'none';
        navs[j].classList.remove('active');
    }
    imgs[i].style.display = 'block';
    navs[i].classList.add('active');
}

// 导航按钮事件
for (let i = 0; i < len; i++) {
    navs[i].addEventListener('click', (e) => {
        e.stopPropagation();
        index = i;
        showImg(index);
    });
}

start();    // 开始轮播

这段代码是使用JavaScript编写实现图片轮播的功能。其中,start()是启动自动轮播的函数,showImg(i)是显示指定图片的函数,它们都由定时器触发。navs[i].addEventListener()则是为导航按钮添加事件监听,点击后会显示对应的图片。

2.计算器应用

实现过程:

  • 步骤一:使用HTML标签创建计算器的基础结构和UI界面;
  • 步骤二:使用CSS控制计算器的样式;
  • 步骤三:使用JavaScript实现计算器的功能。

具体实现步骤:

步骤一:

<div class="calculator">
    <div class="screen">
        <input type="text" id="result" readonly />
    </div>
    <div class="keys">
        <button>7</button>
        <button>8</button>
        <button>9</button>
        <button>+</button>
        <button>4</button>
        <button>5</button>
        <button>6</button>
        <button>-</button>
        <button>1</button>
        <button>2</button>
        <button>3</button>
        <button>*</button>
        <button>0</button>
        <button>.</button>
        <button>/</button>
        <button id="equal">=</button>
        <button id="clear">C</button>
    </div>
</div>

这段代码是使用HTML标签创建了计算器的基础结构,包括显示屏、按键等元素。

步骤二:

.calculator {
    width: 320px;
    margin: 0 auto;
    background-color: #f60;
    border-radius: 10px;
    box-shadow: 0 0 10px #333;
    overflow: hidden;
}

.screen {
    height: 60px;
    line-height: 60px;
    font-size: 24px;
    text-align: right;
    background-color: #333;
    color: #fff;
}

.keys {
    display: flex;
    flex-wrap: wrap;
}

.keys button {
    width: 25%;
    height: 60px;
    border: none;
    font-size: 24px;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color .2s;
}

.keys button:hover {
    background-color: #999;
}

.keys button:active {
    background-color: #666;
}

#equal {
    background-color: #f60;
    color: #fff;
}

#equal:hover {
    background-color: #ff9000;
}

#clear {
    background-color: #333;
    color: #fff;
}

这段代码是使用CSS控制计算器的样式,其中包括计算器的样式、显示屏的样式、按键的样式等。

步骤三:

let result = document.querySelector('#result');    // 显示屏
let keys = document.querySelector('.keys');        // 按键容器
let num1 = '';                                     // 第一个数
let num2 = '';                                     // 第二个数
let operator = '';                                 // 运算符

// 初始化数字按钮事件
for (let i = 0; i < 10; i++) {
    let btn = document.createElement('button');
    btn.innerHTML = i.toString();
    btn.addEventListener('click', () => {
        addNumber(i);
    });
    keys.appendChild(btn);
}

keys.querySelector('#clear').addEventListener('click', () => {
    clear();
});

// 初始化运算符事件
keys.querySelectorAll('button:not(#clear), #equal').forEach(btn => {
    btn.addEventListener('click', () => {
        addOperator(btn.innerHTML.trim());
    });
});

// 添加数字
function addNumber(num) {
    if (!operator) {
        num1 += num.toString();
        result.value = num1;
    } else {
        num2 += num.toString();
        result.value = num2;
    }
}

// 添加运算符
function addOperator(op) {
    if (op === '=') {
        calculate();
        return;
    } else if (num2) {
        calculate();
    }
    operator = op;
}

// 计算结果
function calculate() {
    num1 = parseFloat(num1);
    num2 = parseFloat(num2);
    switch (operator) {
        case '+':
            num1 += num2;
            break;
        case '-':
            num1 -= num2;
            break;
        case '*':
            num1 *= num2;
            break;
        case '/':
            num1 /= num2;
            break;
        default:
            break;
    }
    result.value = num1;
    operator = '';
    num2 = '';
}

// 清空计算器
function clear() {
    num1 = '';
    num2 = '';
    operator = '';
    result.value = '';
}

这段代码是使用JavaScript实现计算器的功能。其中,num1和num2分别存储两个操作数,operator表示当前的运算符。addNumber(num)函数将数字添加到显示屏上,addOperator(op)函数添加运算符,并检查是否需要进行计算。calculate()函数进行计算,并将结果显示到显示屏上。clear()函数则是清空计算器。

以上两个案例介绍了HTML+CSS+JS实现的简单应用小案例,希望能对大家有所启发。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:HTML+CSS+JS实现的简单应用小案例分享 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • jquery实现的鼠标拖动排序Li或Table

    这里是一份完整的攻略来讲解如何使用jQuery实现鼠标拖动排序li或table,并提供了两个示例说明。 第1步:引入jQuery库文件 在文档的head标签中引入jQuery库文件。 <head> <script src="https://code.jquery.com/jquery-3.5.1.min.js">&…

    css 2023年6月10日
    00
  • css全屏背景图片设置,django加载图片路径详解

    下面是“CSS全屏背景图片设置,Django加载图片路径详解”的完整攻略。 CSS全屏背景图片设置 在CSS中设置全屏背景图片有多种方式,其中比较常用的是使用background属性。下面是具体的步骤: 在CSS文件中选择要添加背景图片的元素,比如body元素。 使用background属性,将图片的路径和其他属性值作为background属性值进行设置。具…

    css 2023年6月9日
    00
  • CSS圆形旋转效果 纯CSS制作圆形旋转菜单效果(七步完成)

    下面我来详细讲解一下“CSS圆形旋转效果 纯CSS制作圆形旋转菜单效果(七步完成)”的完整攻略。 1. 确定HTML结构 首先,我们需要确定圆形旋转菜单的HTML结构。一般情况下,我们可以使用<ul>和<li>标签来实现。具体代码如下: <ul class="menu"> <li><a…

    css 2023年6月9日
    00
  • 兼容浏览器的css网页细线表格设计

    兼容浏览器的CSS网页细线表格设计需要注意以下几个方面: 1. 优先使用CSS绘制表格 在设计细线表格时,尽可能地使用CSS来绘制表格而不是在HTML中使用<table>标签。CSS的绘制方式比HTML表格更灵活,而且更适合在不同设备中展示。样式可以用于表格中的所有元素,包括表头,表格主体和表格底部。 2. 设置表格边框样式 使用CSS样式设置表…

    css 2023年6月10日
    00
  • 修改输入框placeholder文字默认颜色-webkit-input-placeholder方法

    让我详细讲解一下“修改输入框placeholder文字默认颜色-webkit-input-placeholder方法”的完整攻略。 什么是 placeholder? 在网页中,input 标签常用于创建表单输入框,如输入用户名、密码、搜索等。placeholder 属性可以设置在输入框没有输入内容时,显示在输入框中的灰色提示文本,提示用户应该输入的内容。 问…

    css 2023年6月9日
    00
  • js 获取屏幕各种宽高的方法(浏览器兼容)

    获取屏幕各种宽高是JS中常见的需求之一。不同屏幕大小、分辨率、设备类型对于页面要展示的内容影响很大。下面是JS获取屏幕各种宽高的方法及浏览器兼容性的攻略。 获取屏幕分辨率 我们可以使用window.screen.width和window.screen.height获取屏幕分辨率,这两个属性返回的是数值型数据,单位是像素,例如: console.log(win…

    css 2023年6月10日
    00
  • css3 flex实现div内容水平垂直居中的几种方法

    针对“CSS3 flex 实现 div 内容水平垂直居中的几种方法”,我为您提供以下完整攻略: 1. 使用flex布局 设置外层父元素的display:flex; justify-content:center; align-items:center;,这样,子元素就实现了垂直水平居中。 .container { display: flex; justify-…

    css 2023年6月9日
    00
  • jQuery写fadeTo示例代码

    当需要在页面上实现元素渐变过渡效果时,可以使用jQuery的fadeTo()方法。下面是完整的攻略: 1. 概览 jQuery中的fadeTo()方法可以让元素在指定时间内渐变到指定的不透明度。该方法可以接受两个参数: duration: 指定过渡动画的时间,单位为毫秒(默认为400ms) opacity: 指定目标不透明度,范围在0到1之间(默认为1) 该…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部