当前位置: 首页 > news >正文

贷款做网站东莞做网页建站公司

贷款做网站,东莞做网页建站公司,找印度人做网站,公司做网站价格实现效果&#xff1a; 当鼠标悬停在小图&#xff08;缩略图&#xff09;上时&#xff0c;大图&#xff08;预览图&#xff09;会随之更新为相应的小图&#xff0c;并高亮当前悬浮的小图的父元素。 代码&#xff1a; 1. HTML部分 <!DOCTYPE html> <html lang"z…

实现效果:

当鼠标悬停在小图(缩略图)上时,大图(预览图)会随之更新为相应的小图,并高亮当前悬浮的小图的父元素。

 代码:

1. HTML部分

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>图像放大效果示例</title><link rel="stylesheet" href="styles.css"></head><body><div><img src="./image/image1.jpg" id="bigImg" alt="大图展示"><ul><li class="active"><img src="./image/image1.jpg" alt="小图1" class="smallImg"></li><li><img src="./image/image2.jpg" alt="小图2" class="smallImg"></li><li><img src="./image/image3.jpg" alt="小图3" class="smallImg"></li><li><img src="./image/image4.jpg" alt="小图4" class="smallImg"></li><li><img src="./image/image5.jpg" alt="小图5" class="smallImg"></li></ul></div><script src="script.js"></script></body>
</html>

2. CSS部分

			* {padding: 0;margin: 0;}body {background-color: #f5f5f5;text-align: center;}#bigImg {width: 300px;height: 300px;border: 2px solid #ccc;margin-bottom: 20px;}ul {list-style: none;overflow: hidden;padding: 0;}ul li {float: left;width: 60px;height: 60px;margin: 10px;border: 2px solid #fff;cursor: pointer;}ul li.active {border-color: red;}ul li img {width: 100%;height: 100%;}

 3. js部分

        注:采用方式一 或 方式二 中的一种方式即可。

方式一:
var bigImg = document.getElementById('bigImg');
var smallImgs = document.getElementsByClassName("smallImg");for (var i = 0; i < smallImgs.length; i++) {smallImgs[i].onmouseover = function() {// 清除所有li的active类var liElements = document.querySelectorAll('ul li');for (var j = 0; j < liElements.length; j++) {liElements[j].classList.remove('active');}// 修改大图的src属性var smallImgSrc = this.getAttribute('src');bigImg.setAttribute('src', smallImgSrc);// 为当前悬浮的img父li添加active类this.parentNode.classList.add('active');}
}
代码解析:

1. 变量定义:

  • bigImg: 通过 document.getElementById('bigImg') 获取 ID 为 bigImg 的元素,通常是一个用于显示大图的 <img> 标签。
  • smallImgs: 通过 document.getElementsByClassName("smallImg") 获取所有类名为 smallImg 的元素,通常是小图片的 <img> 标签集合。

2. 循环遍历小图片:

for (var i = 0; i < smallImgs.length; i++) {
  • 使用 for 循环遍历每一个小图片。

3. 鼠标悬停事件:

smallImgs[i].onmouseover = function() {
  • 为每个小图片绑定 onmouseover 事件,当鼠标悬停在小图片上时,执行以下代码:

4. 清除所有 li 的 active 类:

var liElements = document.querySelectorAll('ul li');
for (var j = 0; j < liElements.length; j++) {liElements[j].classList.remove('active');
}
  • 通过 document.querySelectorAll('ul li') 获取所有 ul 内的 li 元素,并遍历它们,移除每个 li 的 active 类,确保只有当前的图片有高亮效果。

5. 更新大图的 src 属性:

var smallImgSrc = this.getAttribute('src');
bigImg.setAttribute('src', smallImgSrc);
  • 获取当前悬停小图片的 src 属性,然后将大图的 src 属性更新为该小图片的 src,以便显示对应的图片。

6. 为当前悬浮的 img 的父 li 添加 active 类:

this.parentNode.classList.add('active');
  • 获取当前小图片的父元素(通常是 li),并为其添加 active 类,以突出显示当前选中的小图片。

方式二:
var bigImg = document.getElementById('bigImg');
var smallImgs = document.querySelectorAll('ul li img');smallImgs.forEach(function(smallImg) {smallImg.onmouseover = function() {// 清除所有li的active类document.querySelectorAll('ul li').forEach(function(li) {li.classList.remove('active');});// 修改大图的src属性var smallImgSrc = this.getAttribute('src');bigImg.setAttribute('src', smallImgSrc);// 为当前悬浮的img父li添加active类this.parentNode.classList.add('active');}
});
代码解析:

1. 获取元素

var bigImg = document.getElementById('bigImg');
var smallImgs = document.querySelectorAll('ul li img');
  • bigImg:获取大图的元素,假设这个元素的 ID 是 bigImg
  • smallImgs:获取所有小图的元素,这些元素是位于一个无序列表 <ul> 中的列表项 <li> 内的图片 <img>

2. 对小图应用事件监听

smallImgs.forEach(function(smallImg) {smallImg.onmouseover = function() {
  • 通过 forEach 遍历所有的小图(smallImgs)。
  • 对于每一个小图,设置 onmouseover 事件,即当鼠标悬停在小图上时触发的函数。

3. 清除所有 li 的 active 类

document.querySelectorAll('ul li').forEach(function(li) {li.classList.remove('active');
});
  • 在鼠标悬停时,先清除所有列表项(li)的 active 类名,确保只保留当前被悬停的图像的样式。

4. 修改大图的 src 属性

var smallImgSrc = this.getAttribute('src');
bigImg.setAttribute('src', smallImgSrc);
  • this 代表当前悬浮的小图对象。通过 getAttribute('src') 获取当前小图的 src 属性。
  • 将获取到的小图的 src 赋值给大图的 src,从而实现大图更新。

5. 为当前悬浮的 <img> 的父 <li> 添加 active 类

this.parentNode.classList.add('active');
  • 获取当前小图的父元素(即 <li>),并为其添加 active 类,以便可以通过 CSS 对该元素进行特殊的样式处理,比如高亮显示。
http://www.hkea.cn/news/953377/

相关文章:

  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案
  • 做网站的基础架构东莞seo建站公司
  • 嘉兴做网站的哪家好龙岗网站制作
  • 论坛做网站好吗百度官方网页
  • 微信开发者工具获取系统日期seo优化一般包括
  • 怎么用文本做网站百度排行榜风云榜
  • 未来网站开发需求多搜索网站有哪几个
  • 网站建设 成都郑州高端网站制作
  • 快站怎么做淘客网站深圳关键词
  • 做网站时如何去掉网站横条小红书软文案例
  • 图虫南宁百度快速排名优化
  • 上城网站建设app推广文案
  • 网站建设特点宁波seo搜索引擎优化公司
  • 地产商网站建设网球新闻最新消息