前端实现轮播图

提示:实现轮播图效果有三种实现方式,一是通过纯css实现;二是通过jQuery实现;三是通过swiper插件实现。

tips:可以用自己爱豆的图片,感觉简直不要太好~~~

前言

本文讲述的是第三种方式:通过使用swiper插件实现轮播,具体教程可参考Swiper


提示:以下是本篇文章正文内容,下面案例可供参考

一、HTML部分

<script src="js/vue.js"></script>
<link rel="stylesheet" href="./swiper/swiper-bundle.min.css">
 <!-- 轮播图 -->
  <div class="swiper">
   <div class="swiper-wrapper">
    <div class="swiper-slide" v-for="(item,index) in picture" :key="index">
     <img :src="hrefURL+item" alt="" height="180rpx" width="100%">
    </div>
   </div>
   <!-- 如果需要分页器 -->
   <!-- <div class="swiper-pagination"></div> -->

   <!-- 如果需要导航按钮 -->
   <div class="swiper-button-prev"></div>
   <div class="swiper-button-next"></div>

   <!-- 如果需要滚动条 -->
   <!-- <div class="swiper-scrollbar"></div> -->
  </div>

二、JS部分

<script src="swiper/swiper-bundle.min.js"></script>
<script src="js/jquery.js"></script>
<script src="layer/layer.js"></script>
<script type="text/javascript">
 var vm = new Vue({
  el: '#content',
  data: {
   hrefURL: hrefURL,
   picture: []
  },
  mounted() {
   this.getImg()
  },
  methods: {
   //轮播图
   getImg() {
    let sendData = {};
    $.ajax({
     type: "post",
     url: hrefURL + '/api/index/banner',
     data: sendData,
     success: (res) => {
      if (res.code == 1) {
       console.log(res);
       this.picture = res.data
      } else {
       layer.msg(res.msg);
      }
     },
     error(err) {	
          layer.msg('网路出现故障;请稍后再试');
     }
    });
   }
  },


 })


 setTimeout(() => {
  var mySwiper = new Swiper('.swiper', {
   direction: 'horizontal', // 切换选项
   loop: true, // 循环模式选项
   autoplay: true, //可选选项,自动滑动
   navigation: {
    nextEl: '.swiper-button-next',
    prevEl: '.swiper-button-prev',
   },
  })
 }, 3000)
</script>

提示:

案例中使用了layer插件,以下为layer的详解。

layer插件

用于实现网页中的各种弹出层交互,layer插件运行环境是jQuery1.8及以上,因为layer是基于jQuery的一个插件,所以必须引入。

因此使用顺序为:

先去官网下载最新的layer插件     具体请参考  layer 弹出层组件
①引用jquery
②引用layer.min.js
layer引入文件的代码应该放在页面底部

盒子阴影(为优化效果)

/* x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: 60px -16px teal;

/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影颜色 */
box-shadow: 10px 5px 5px black;

/* x偏移量 | y偏移量 | 阴影模糊半径 | 阴影扩散半径 | 阴影颜色 */
box-shadow: 2px 2px 2px 1px rgba(0, 0, 0, 0.2);

/* 插页(阴影向内) | x偏移量 | y偏移量 | 阴影颜色 */
box-shadow: inset 5em 1em gold;

/* 任意数量的阴影,以逗号分隔 */
box-shadow: 3px 3px red, -1em 0 0.4em olive;

文字渐变(为优化效果)

 background-image: -webkit-linear-gradient(bottom, #164A92, #1a92ca);

 -webkit-background-clip: text;

 -webkit-text-fill-color: transparent;

总结

本文仅仅简单介绍了通过swiper插件实现轮播,通过layer弹出层插件等方式优化用户体验,以上就是今天要讲的内容啦,如果有用,请不要忘记点个赞再离开哟~~~

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现轮播图可以使用第三方库,比如Swiper、Slick等,也可以自己手动编写实现。以下是一份简单的自己手写轮播图的代码: HTML部分: ```html <div class="slider"> <ul class="slider-container"> <li class="slider-item"><img src="image1.jpg"></li> <li class="slider-item"><img src="image2.jpg"></li> <li class="slider-item"><img src="image3.jpg"></li> </ul> <ul class="slider-nav"> <li class="slider-nav-item active"></li> <li class="slider-nav-item"></li> <li class="slider-nav-item"></li> </ul> </div> ``` CSS部分: ```css .slider { position: relative; width: 600px; height: 300px; overflow: hidden; } .slider-container { position: relative; width: 1800px; height: 300px; margin: 0; padding: 0; list-style: none; } .slider-item { float: left; width: 600px; height: 300px; } .slider-nav { position: absolute; bottom: 10px; left: 50%; transform: translateX(-50%); margin: 0; padding: 0; list-style: none; z-index: 10; } .slider-nav-item { display: inline-block; width: 10px; height: 10px; margin-right: 10px; border-radius: 50%; background-color: #ccc; } .slider-nav-item.active { background-color: #333; } ``` JavaScript部分: ```javascript var slider = document.querySelector('.slider'); var sliderContainer = slider.querySelector('.slider-container'); var sliderItems = slider.querySelectorAll('.slider-item'); var sliderNav = slider.querySelector('.slider-nav'); var sliderNavItems = sliderNav.querySelectorAll('.slider-nav-item'); var currentIndex = 0; var intervalId; function initSlider() { // 设置轮播图容器的宽度 sliderContainer.style.width = sliderItems.length * 100 + '%'; // 设置轮播图每一个item的宽度 for (var i = 0; i < sliderItems.length; i++) { sliderItems[i].style.width = 100 / sliderItems.length + '%'; } // 绑定导航点的click事件 for (var i = 0; i < sliderNavItems.length; i++) { sliderNavItems[i].addEventListener('click', onNavItemClick); } // 开始自动轮播 startAutoPlay(); } function onNavItemClick(event) { var navItem = event.currentTarget; var index = Array.prototype.indexOf.call(sliderNavItems, navItem); currentIndex = index; updateSlider(); } function startAutoPlay() { intervalId = setInterval(function() { currentIndex = (currentIndex + 1) % sliderItems.length; updateSlider(); }, 3000); } function stopAutoPlay() { clearInterval(intervalId); } function updateSlider() { sliderContainer.style.transform = 'translateX(-' + currentIndex * 100 / sliderItems.length + '%)'; for (var i = 0; i < sliderNavItems.length; i++) { var navItem = sliderNavItems[i]; if (i === currentIndex) { navItem.classList.add('active'); } else { navItem.classList.remove('active'); } } } initSlider(); ``` 这份代码实现了基本的轮播功能,并且提供了导航点(小圆点)供用户手动切换图片。你可以根据自己的需要进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值