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

jQuery实现图片轮播效果

实现图片轮播效果,打开页面,每隔3秒切换至下一张图片;光标移入数字时,播放相应图片。

思路:

1)获取需要轮播的图片和展示的div

2)使用animate设置left值,每次移动宽度为展示div的宽度。

3)播放图片时,对应数字应用红色背景样式,其他数字移除该样式。

效果:

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Document</title><style>* {margin: 0;padding: 0;}img {width: 800px;height: 400px;}.banner {width: 800px;height: 400px;border: 1px solid black;margin: 50px auto;overflow: hidden;cursor: pointer;position: relative;}.banner .slide {width: 4800px;height: 400px;position: absolute;left: -600px;}.banner .slide .pic {width: 800px;height: 400px;line-height: 400px;text-align: center;float: left;font-size: 72px;color: white;}.banner .numbers {width: 150px;height: 30px;position: absolute;bottom: 1%;left: 85%;margin-left: -50px;z-index: 2;}.banner .numbers .number {width: 20px;height: 20px;float: left;margin: 5px 6px;cursor: pointer;background-color: white;color: black;text-align: center;border: 1px solid red;}.banner .numbers .on {background-color: red;color: #fff;font-weight: bolder;}</style></head><body><div class="banner"><div class="slide"><div class="pic"><img src="./4.png"></div><div class="pic"><img src="./1.png"></div><div class="pic"><img src="./2.png"></div><div class="pic"><img src="./3.png"></div><div class="pic"><img src="./4.png"></div><div class="pic"><img src="./1.png"></div></div><div class="numbers"><span class="number on">1</span><span class="number">2</span><span class="number">3</span><span class="number">4</span></div></div><script src="jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script><script type="text/javascript">var index = 1; var timer = null;var size = $('.slide').children().size();var picWidth = $('.pic').width();$('.banner').mouseover(function() {clearInterval(timer);});$('.banner').mouseleave(function() {autoSlide();});$('.slide').mouseleave();function autoSlide() {timer = setInterval(function() {index++; changeImg();changeNums();}, 3000); };function changeImg() {var slideWidth = -1 * picWidth * index; $('.slide').animate({'left': slideWidth + 'px'}, 500);if (index >= size - 1) {$('.slide').animate({'left': -picWidth + 'px'}, 0);index = 1;}if (index < 1) {$('.slide').animate({'left': -(size - 2) * picWidth + 'px'}, 0);index = size - 2;}}function changeNums() {$('.number').eq(index - 1).addClass('on').siblings().removeClass('on');}$('.number').mouseover(function(event) {var target = event.target;index = $(target).index() + 1;changeImg();changeNums();});</script></body>
</html>

http://www.lryc.cn/news/423048.html

相关文章:

  • 关于天地图新手使用
  • STM32与Arduino和ESP32对比分析
  • 125. 验证回文串【 力扣(LeetCode) 】
  • 3年经验,面试测试岗20k都拿不到了吗?
  • 【ML】强化学习(Reinforcement Learning)及其拆解
  • 在宝塔面板下安装WordPress
  • 纷享销客CRM AI产品架构概览、产品特色
  • 【文件IO】文件系统操作
  • Spring Cloud Alibaba 集成分布式定时任务调度功能
  • 中职云计算实训室
  • 【python制作一个小程序作为七夕礼物】
  • 一篇文章教会你如何使用Haproxy,内含大量实战案例
  • PythonStudio 控件使用常用方式(二十二)TFlowPanel
  • 培训第二十七天(lvs_nat模式与lvs_dr模式配置)
  • JAVA中DateFormat详解
  • uniapp——列表选择样式
  • 解决客户访问超时1s问题
  • Linux命令(基础面试可用,都是自己觉得平时使用多的)
  • opencv-python图像增强一:传统图像去噪方法整理
  • Canal单机部署
  • java,每日练习02
  • C# TreeView
  • 通过xshell使用密钥连接阿里云服务器
  • <数据集>路面坑洼识别数据集<目标检测>
  • 几个常用脚本
  • gtest中TEST和TEST_F和TEST_P的区别是什么
  • VS2022如何调出输出窗口,并在输出窗口打印日志
  • 【全国大学生电子设计竞赛】2021年I题
  • 【项目】基于Vue2+Router+Vant 前端面经项目
  • 【论文阅读】YOLOv10: Real-Time End-to-End Object Detection