css点击箭头图片切换

2023-12-25 14:30:22 举报文章

CSS点击箭头图片切换是一种常见的网页效果,它可以让用户通过点击箭头来切换图片内容。这种效果通常使用CSS实现,因为CSS具有方便、简单和易用的特点。

.arrow {
  
  display: inline-block;
  
  width: 20px;
  
  height: 20px;
  
  background: url('arrow.png') no-repeat;
}
#image1, #image2, #image3 {
  
  display: none;
}
#image1.visible, #image2.visible, #image3.visible {
  
  display: block;
}
 

以上的代码中,我们定义了一个箭头类(.arrow),它设置了箭头图片的大小和背景。在图片展示的部分,我们使用了HTML标签来显示不同的图片(#image1、#image2、#image3)。接着,通过CSS将这些图片设置为不可见,最后通过给可见图片添加.visible类,来使它们显示。

<div>
  
  <img id="image1" src="image1.jpg" class="visible">
  
  <img id="image2" src="image2.jpg">
  
  <img id="image3" src="image3.jpg">
  
  <div class="arrow arrow-left" onclick="switchImage(-1)"></div>
  
  <div class="arrow arrow-right" onclick="switchImage(+1)"></div>
</div> 

在HTML部分,我们创建了一个容器

,内部包含展示图片和箭头的元素。每张图片都设置了一个唯一的ID,用来在CSS中选择。我们还为左右箭头分别设置了类.arrow和.arrow-left/.arrow-right,并且添加了一个onclick事件,用来在点击时调用一个JS函数来控制图片的切换。

function switchImage(offset) {
  
  var visibleImage = document.querySelector('.visible');
  
  var images = document.querySelectorAll('img');
  
  var index = Array.prototype.indexOf.call(images, visibleImage);
  
  var nextIndex = index + offset;
  
  if (nextIndex < 0) {
  
   
   nextIndex = images.length - 1;
  
}
 else if (nextIndex >= images.length) {
  
   
   nextIndex = 0;
  
}
  
  visibleImage.classList.remove('visible');
  
  images[nextIndex].classList.add('visible');
}
 

最后,我们编写一个JS函数switchImage来实现图片的切换。该函数接受一个offset参数,用来指定切换的方向。首先,我们通过querySelectorAll获取所有的图片元素,并使用JavaScript原生API获取当前可见图片在数组中的下标。接着,我们计算出下一张图片的下标,并判断是否超出范围。最后,我们通过classList来移除当前可见图片的.visible类,同时为下一张图片添加.visible类,从而完成图片的切换。

如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!