第六十八天 js轮播图
1.浮动与定位结合使用
浮动与相对定位
//1.两者均参与布局
//2.主浮动布局,相对布局辅助完成布局微调
//3.相对定位布局微调不同于盒模型布局微调,相对定位布局不影响盒子原有位置,就会影响兄弟盒子布局
浮动与绝对定位
// 1.只保留绝对定位布局
// 2.脱离文档流的盒子宽可以交于内部撑开
2.小米更新数据案例
默认活跃状态
1.将初始的li设置一个active类名(拥有该类名就拥有活跃状态表现的属性)】
更改活跃状态
let active_index = 0; // 活跃状态的索引
for(let I = 0; I < lis.length;i++){
lis[I].onmouseover = function(){
// 清除之前活跃的
list[active_index].className = "";
// 设置自身为活跃
this.className = "active";
// 更新活跃索引
active_index = I;
}
}
作用域(不同的js逻辑代码块)
// 不要去使用全局变量,不同的js逻辑代码块如果重复命名,要么报重名错误,要么数据
覆盖出现变量污染
// 每一个js逻辑代码块可以通过匿名函数的自调用完成局部作用域
(function){
let a=10;
}()
(function)(){
let a= 20;
})()
根据数据与页面结构,动态渲染数据
<ul class='main'>
<li>
<a href="jacascript:void(0)">
<h2>小米音响</>
<img src="https://li.mifile.cn/a4/cf6660a3-d424-4248-889f-0eedle99a342" alt="">
<p>这是小米音响,稍微解释一下</p>
</a>
</li>
...
</ul>
let data = [
[
{
title: "热门1",
img_url: "https://i1.mifile.cn/a4/xmad_15435448534832_SAPDq.jpg",
info: "这是热门"
},
...还有三个{}
],
...还有三个[]
];
let main_lis = document.querySelectorAll('.main li');
// 分析数据结构与页面结构,将指定数据渲染到指定位置
function updateData(index) {
let dataArr = data[index];
for (let i = 0; i < dataArr.length; i++) {
let h2 = main_lis[i].querySelector('h2');
h2.innerText = dataArr[i].title;
let img = main_lis[i].querySelector('img');
img.setAttribute('src', dataArr[i].img_url);
let p = main_lis[i].querySelector('p');
p.innerText = dataArr[i].info;
}
}
3.小米轮播图分析
// 下一张
right_btn.onclick = function(){
// 清除之前活跃的图片与tag
img_lis[active_index].className = "";
tag_lis[active_index].className = ""; // 索引切换(更新活跃索引)
// 安全性:最后一张的下一张应该his第一张
if (active_index == 4) active_index = -1;
active_index++; // 设置将要活跃的图片和tag
img_lis[active_index].className = "active";
tag_lis[active_index].className = "active";
};
// active_index 记录了当前活跃状态的索引,且所有逻辑共有
// 无限录播是考虑边界切换的问题
第六十八天 js轮播图的更多相关文章
- JavaScript的案例(数据校验,js轮播图,页面定时弹窗)
1.数据校验 步骤 1.确定事件(onsubmit)并绑定一个函数 2.书写这个函数,获取数据,并绑定id 3. ...
- 纯js轮播图练习-2,js+css旋转木马层叠轮播
基于css3的新属性,加上js的操作,让现在js轮播图花样越来越多. 而现在出现的旋转木马层叠轮播的轮播图样式,却是得到了很多人都喜爱和投入使用. 尤其是在各大软件中,频繁的出现在大家的眼里,在web ...
- 纯js轮播图练习-1
偶尔练习,看视频自己学着做个简单的纯JS轮播. 简单的纯js轮播图练习-1. 样子就是上面图片那样,先不管好不好看,主要是学会运用和理解轮播的原理 掌握核心的理论知识和技术的操作,其他的都可以在这个基 ...
- javascript原生js轮播图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS轮播图(网易云轮播图)
JS 轮播图 写在前面 最聪明的人是最不愿浪费时间的人.--但丁 实现功能 图片自动切换 鼠标移入停止自动播放,显示按钮 点击按钮,实现前后翻 鼠标移入小圆圈,可以跳转到对应图片 点击左右两侧图片部分 ...
- JS —— 轮播图中的缓动函数的封装
轮播图的根本其实就是缓动函数的封装,如果说轮播图是一辆跑动的汽车,那么缓动函数就是它的发动机,今天本文章就带大家由简入繁,封装属于自己的缓动函数~~ 我们从需求的角度开始,首先给出一个简单需求: 1. ...
- 原生js轮播图
//用原生js实现了一个简单的轮播图效果 <!DOCTYPE html><html> <head> <meta charset="UTF-8&quo ...
- 用require.js封装原生js轮播图
index.html页面: <!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- 原生的js轮播图
图片会照常循环播放,当然也可以通过按钮来进行切换,当切出当前的页面时,等到你在回到当前页面时该轮播的图片还是停留在你之前所切出去的的那张图片的状态. HTML部分: <html> < ...
随机推荐
- 树上倍增求LCA及例题
先瞎扯几句 树上倍增的经典应用是求两个节点的LCA 当然它的作用不仅限于求LCA,还可以维护节点的很多信息 求LCA的方法除了倍增之外,还有树链剖分.离线tarjan ,这两种日后再讲(众人:其实是你 ...
- [伟哥开源项目基金会](https://github.com/AspNetCoreFoundation)
伟哥开源项目基金会 GitHub_base=> 伟哥开源项目基金会 该项目作者为伟哥,GitHub地址:https://github.com/amh1979: 该项目维护者为鸟窝,GitHub地 ...
- Android音乐播放器的设计与实现
目录 应用开发技术及开发平台介绍 应用需求分析 应用功能设计及其描述 应用UI展示 一.应用开发技术及平台介绍 ①开发技术: 本系统是采用面向对象的软件开发方法,基于Android studio开发平 ...
- Typora 快捷键
今天学习了一下这个工具.很轻便,很好用的. 无序列表:输入-之后输入空格 有序列表:输入数字+“.”之后输入空格 任务列表:-[空格]空格 文字 标题:ctrl+数字 表格:ctrl+t 生成目录:[ ...
- CentOS7安装MySQL并配置账户等
注意: 有的Centos版本默认安装了mariadb, 可以先将其卸载 检查mariadb是否安装 yum list installed | grep mariadb 卸载mariadb( all ) ...
- Python 日志模块logging
logging模块: logging是一个日志记录模块,可以记录我们日常的操作. logging日志文件写入默认是gbk编码格式的,所以在查看时需要使用gbk的解码方式打开. logging日志等级: ...
- RHEL/Centos7 安装图形化桌面(转)
RHEL/Centos7 安装图形化桌面 Linux是一个多任务的多用户的操作系统,好多linux爱好者在安装完linux后经常遇到一个问题——没有图形化桌面.今天小编在安装RHEL7的时候,一步 ...
- Jenkins系统监测(转)
Jenkins系统监测 Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上.同时 Jenkins 能实施监控集成中存在 ...
- php操作Memcache的一个类库
###php操作Memcache的一个类库 代码如下: <?php /** * Created by PhpStorm. * User: alisleepy * Date: 2019-03-14 ...
- Docker资源限制
我们在容器中运行docker镜像的时候,可以指定一些设置容器cpu和内存的相关参数来进行限制,这样子尽量把容器资源做的相对稳定一些.这些参数是在docker run/create命令使用,比如: -- ...