1.javascript实现的效果

循环浏览所有图像,并为每个图像插入一个元素thumb-bar,将图像嵌入页面中。

将onclick处理程序附加到每个内部,thumb-bar

以便在单击它们时在displayed-img 元素中显示相应的图像。

将onclick处理程序附加到,以便在单击该处理程序时将变暗效果应用于完整尺寸的图像。再次单击它时,再次消除了暗化效果。

2、html、css和javascript协作实现

手动实现了html、css和javascript协作,对关键的部分写了代码注释

2.1、html

照片库

照片库示例

变暗

2.2 、cssh1 {

font-family: sans-serif;

text-align: center;

}

body {

width: 640px;

margin: 0 auto;

}

.full-img {

position: relative;

display: block;

width: 640px;

height: 480px;

}

.overlay {

position: absolute;

top: 0;

left: 0;

width: 640px;

height: 480px;

background-color: rgba(0,0,0,0);

}

button {

border: 0;

background: rgba(150,150,150,0.6);

text-shadow: 1px 1px 1px white;

border: 1px solid #999;

position: absolute;

cursor: pointer;

top: 2px;

left: 2px;

}

.thumb-bar img {

display: block;

width: 20%;

float: left;

cursor: pointer;

}

2.3 、javascript/*document.querySelector选择器里面的带“.”的内容都是html中的类属性内容,不带点的则为自带的鼠标点击外部触发属性*/

/*只要是document的选择器声明的变量,可以有很多方法:setAttribute,appendChild,onclick......*/

const displayedImage = document.querySelector('.displayed-img');/*displayed-img是对应html文件中的类属性*/

const thumbBar = document.querySelector('.thumb-bar');

const btn = document.querySelector('button');

const overlay = document.querySelector('.overlay');

/* 添加图片循环 */

for (var i = 1; i <= 5; i++) {

const newImage = document.createElement('img'); /*对应上面部分大图的图片*/

newImage.setAttribute('src', 'images/pic' + i + '.jpg');

thumbBar.appendChild(newImage);/*对应下面部分的5张图片区域的效果,Node链表的效果——太精妙了,我刚开始还以为要很死板用画格子的方式实现*/

newImage.onclick = function(e) {   /*先初始化,没有鼠标点击的时候,displayedImage不会改变;一旦有鼠标点击,则会由*/

displayedImage.src = e.target.src;

}

}

/* 编写 变暗/变量 按钮功能 */

btn.onclick = function() {

const btnClass = btn.getAttribute('class');  /*const btn = document.querySelector('button'),选择器对应设置的属性*/

if(btnClass === 'dark') {

btn.setAttribute('class','light');

btn.textContent = '变亮';

overlay.style.backgroundColor = 'rgba(0,0,0,0.5)';

} else {

btn.setAttribute('class','dark');

btn.textContent = '变暗';

overlay.style.backgroundColor = 'rgba(0,0,0,0)';

}

}

/*

ps:疑问?感觉根据visual编辑器点击跳转得到的方法注释跟实际不太一样;

appendChild(newChild: T): T;

* Returns a copy of node. If deep is true, the copy also includes the node's descendants.

readonly target: EventTarget | null;

* Returns the event's timestamp as the number of milliseconds measured relative to the time origin.

e.target.src的含义:

target定义:

target 属性规定哪个 DOM 元素触发了该事件。

target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

e.target.src表示获取事件触发的src图片;参考:https://blog.csdn.net/qq_36412715/article/details/84345237

*/

3、javascript知识点涉及

e.target

target定义:

target 属性规定哪个 DOM 元素触发了该事件。

target 事件属性可返回事件的目标节点(触发该事件的节点),如生成事件的元素、文档或窗口。

语法:

event.target

event.target.nodeName   //获取事件触发元素标签名(li,p,div,img,button…)

event.target.id      //获取事件触发元素id

event.target.className  //获取事件触发元素classname

event.target.innerHTML  //获取事件触发元素的内容(li)

html图片重叠鼠标点击更换,html实现点击预览图切换图片方法相关推荐

  1. html一键生成预览图,选择图片后显示缩略图(自动生成缩略图)

    下面是完整代码,看注释: 显示选择图片的缩略图 #dropbox { width: 400px; height: 70px; line-height: 70px; text-align: center ...

  2. C# Winform 相册功能,图片缩放,拖拽,预览图分页

    效果 1.图片放大,缩小,拖拽功能 2.添加图片,分页功能 一.前言 在一些项目中也会用到预览图片的功能,至于为什么有一个添加图片的按钮,是因为有些项目,比如视觉相关的项目,摄像头拍摄图片,然后显示在 ...

  3. 计算机窗口预览图,window_Win7系统资源管理器加上预览窗格功能的方法,  图片缩略图是否太小?PPT - phpStudy...

    Win7系统资源管理器加上预览窗格功能的方法 图片缩略图是否太小?PPT如果预览一下是不是更好寻找文件?小编此次带来的一个比较实用的功能--在Win7系统的资源管理器开启窗格预览功能,不仅可以在右侧预 ...

  4. Vant上传多个图片或视频,更改视频预览图

    需求 vant上传多个视频或图片 图片和视频都有预览图 最终成果 过程 最开始是准备通过自定义预览样式,通过 preview-cover 插槽可以自定义覆盖在预览区域上方的内容.但问题是会修改每一个上 ...

  5. Win10文件夹中图片不显示预览图解决方法

    Win10文件夹中图片不显示预览图解决方法分享.如果我们在文件夹里面有很多的图片文件,可以通过预览图来快速的找到自己需要的图片.但是有用户却发现电脑文件夹里面图片不会显示缩略图,今天我们一起来看看如何 ...

  6. 【Mac 教程系列第 3 篇】如何用 Mac 预览图工具修改图片的分辨率

    这是[Mac 教程系列第 3 篇],如果觉得有用的话,欢迎关注专栏. 修改图片分辨率,可能你首先想到的是 PS ,其实 Mac 自带的预览图工具就可以修改,下面简单说下修改过程. 第一步 双击打开要修 ...

  7. 【微信小程序云开发】1分钟学会实现上传、下载、预览、删除图片,并且以九宫格展示图片

    大家好,我叫小秃僧 这篇文章是讲解云开发如何上传.下载.预览.删除图片,并且以九宫格展示图片的功能 学习目录 1. 实现效果 2.JavaScript代码 3.wxml代码 4.wxss代码 1. 实 ...

  8. v-viewer预览图的使用(图片预览旋转/放大缩小/上下切换等)

    前言: 之前项目需求,需要找一个预览图的组件,最开始,找了vue-preview组件.因为vue-preview是直接引入 < vue-preview>这个标签,无法看到对组件里面的图片i ...

  9. 微信小程序-图片预览图

    有时候图片列表图片过小看不清图片内容,这时我们一般就希望点击图片可以放大显示进行预览,那么,接下来我们就调用微信原生API的的浏览图片程序进行对图片预览的实现. 单张图片预览 通过微信原生API实现单 ...

最新文章

  1. 【文末送5本书】与「韦神」齐名,35岁刁晗生任教清华!18岁一战成名,数学界颜值巅峰...
  2. python opencv 旋转图片
  3. 一些powershell基本使用示例
  4. python-format格式化专题介绍1909
  5. Facebook正测试对话式的评论新界面
  6. 阿里集团公布2022“研究型实习生”计划
  7. 从AWS到阿里云: 产品体系差异分析 | 凌云时刻
  8. [译] 在 Twitch 代码直播一年的总结
  9. 在线硬盘存储计算机,【模拟攒机-模拟装机】在线攒电脑-ZOL中关村在线
  10. 政务区块链平台设计思路
  11. 狄利克雷卷积_狄利克雷卷积学习笔记
  12. Vue中base64编码和解码
  13. 考研英语单词-近义词分类-Second Day
  14. 计算机表格打不开怎么,哪位晓得电脑表格为什么打不开
  15. 4、selenium3的安装
  16. torch.randn()函数
  17. 10个 解放双手的 IDEA 插件,这些代码都不用写(第二弹)
  18. 计算机专业论文docx,计算机专业毕业大学生论文.docx
  19. Openstack celi
  20. fp函数式编程_全面了解函数式编程(FP)

热门文章

  1. kolla 部署openstack train版本(三节点controller+compute+storage)------功能测试
  2. C++中表示正无穷与负无穷
  3. Icon图标制作(转化)工具
  4. Nacos集群部署方案
  5. SNMP协议架构与操作类型
  6. 三星笔记本 win10+ubuntu18.04.3双系统 BIOS设置
  7. OracleClient
  8. 蓝牙芯片NRF51822入门学习:时间管理
  9. 《牛客刷题》sql错题集
  10. SQL Server 扩展秘钥管理(EKM)