让我来为大家分享一下“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技术站