<!--
布局思路:一个大的div,中有一个ul.和一个箭头的div
css样似描述:
整个盒子距离顶部100px,又水平居中 盒子的宽高为图片的实际宽高
由于每次都是看见了一张图片:有两种方式:
第一种:要么li用了浮动,然后结合overflow:hidden。让超出的部分消失
第二种:li绝对定位==》则父级元素ul,或者li的爷级元素 相对定位 (子绝父相)
默认显示第一张图片,所以其他的li应该隐藏起来。
按钮默认是隐藏起来的,光标放上去,按钮显示出来,用了hover属性
按钮的样式修饰:
有宽高,分别靠在最左边和最右边,垂直方向居中;==>因此有绝对定位,left:0;right:0;top:50%;
-->
 

<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
 
.slider {
height: 340px;
width: 790px;
margin: 100px auto;
position: relative;
}
 
.slider li {
position: absolute;
/* display: none; */
}
.slider li:first-child {
display: block;
}
 
 
.arrow {
display: none;
}
 
.slider:hover .arrow {
display: block;
}
 
.arrow-left,
.arrow-right {
font-family: "SimSun", "宋体";
width: 30px;
height: 60px;
background-color: rgba(0, 0, 0, 0.1);
position: absolute;
top: 50%;
/* margin-top: -30px;*/
cursor: pointer;
text-align: center;
line-height: 60px;
color: #fff;
font-weight: 700;
font-size: 30px;
}
 
.arrow-left:hover,
.arrow-right:hover {
background-color: rgba(0, 0, 0, .5);
}
 
.arrow-left {
left: 0;
}
 
.arrow-right {
right: 0;
}
 
</style>
 
布局的部分
<div class="slider">
<ul>
<li><a href="#"><img src="data:images/1.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/2.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/3.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/4.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/5.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/6.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/7.jpg" alt=""></a></li>
<li><a href="#"><img src="data:images/8.jpg" alt=""></a></li>
</ul>
 
<!--箭头-->
<div class="arrow">
<span class="arrow-left">&lt;</span>
<span class="arrow-right">&gt;</span>
</div>
</div>
 
 
JS部分
var count = 0;
$(".arrow-right").click(function () {
count++;
if(count == $(".slider li").length){
count = 0;
}
console.log(count);
//让count渐渐的显示,其他兄弟渐渐的隐藏
$(".slider li").eq(count).fadeIn().siblings("li").fadeOut();
});
 
$(".arrow-left").click(function () {
count--;
if(count == -1){
count = $(".slider li").length - 1;
}
console.log(count);
//让count渐渐的显示,其他兄弟渐渐的隐藏
$(".slider li").eq(count).fadeIn().siblings("li").fadeOut();
});
});
</script>
<!-- 图片轮播的思路是:
点击右边的按钮,图片向前移动一张:分析==》
(1)给右边的按钮注册事件----(2)点击一下,索引加1----(3)判断是否是最后一张---(4)若果是,索引值为0.---(5)对应图片的索引值显示出来,其他的兄弟元素消失。
 
点击左边边的按钮,图片向后移动一张:分析==》
(1)给右边的按钮注册点击事件--(2)点击一下,索引减1---(3)判断是否是负1,----(4)若是,索引值为图片的长度减1---(5)对应图片的索引值显示出来,其他的兄弟元素消失。
注意点:索引值最初为0,但是它表示第一张图片哦; 当它为leng-1时,表示的是最后一张图片; 所以索引值为length时,重新将索引值赋值为0;
因此当点击左边的按钮时,索引为0时,表示第一张图片哦 所以索引值为-1时,重新将索引值赋值为length-1.
-->
 

jqs实现图片轮播--通过点击按钮来实现的更多相关文章

  1. javascript 实现图片轮播和点击切换功能

    图片轮播是网页上一个比较常见的功能,下面我们来实现他吧 原理很简单: 1:固定的区域,所有的图片重叠,一次只能显示一张图片 2:通过改变图片的zIndex属性改变显示的图片,就可以达到切换的效果了 & ...

  2. 纯javaScript、jQuery实现个性化图片轮播

    纯javaScript实现个性化图片轮播 轮播原理说明<如上图所示>: 1. 画布部分(可视区域)属性说明:overflow:hidden使得超出画布部分隐藏或说不可见.position: ...

  3. 原生JS实现"旋转木马"效果的图片轮播插件

    一.写在最前面 最近都忙一些杂七杂八的事情,复习软考.研读经典...好像都好久没写过博客了... 我自己写过三个图片轮播,一个是简单的原生JS实现的,没有什么动画效果的,一个是结合JQuery实现的, ...

  4. JavaScript实现图片轮播组件

    效果: 自动循环播放图片,下方有按钮可以切换到对应图片. 添加一个动画来实现图片切换. 鼠标停在图片上时,轮播停止,出现左右两个箭头,点击可以切换图片. 鼠标移开图片区域时,从当前位置继续轮播. 提供 ...

  5. 基于面向对象的图片轮播(js原生代码)

    无论你想走多远,你都需要不断地走下去.前端最精华的便是原生的js,这也是我们前端工程师的技术分层的重要指标,也提现这你的代码能力,开发的水平.废话不多说,进入今天的主要分享————基于面向对象思想的图 ...

  6. jquery 图片轮播demo实现

    转载注明出处!!! 转载注明出处!!! 转载注明出处!!! 图片轮播demo,弄清楚过程其实是一个很简单的东西,看网上都没有什么实质性的代码,就自己把过程捋了一遍实现了. 这次因为随手写的,所以没有做 ...

  7. 图片轮播图插件的使用 unslider!!!

    1.百度图片轮播图unslider,第一个就会出现jquery unslider轮播图,点击进去,下载网站提供的文件,解压,内部有我们需要使用的各种js,图片等. 2.在自己的eclipse或者int ...

  8. JQuery slidebox实现图片轮播

    jQuery图片轮播(焦点图)插件jquery.slideBox,简单设置下参数就可以多个多种动画效果,左右,上下,速度,还可指定默认显示第N张,点击的按钮在现代浏览中可以实现圆形或圆角效果,插件代码 ...

  9. JQ图片轮播

    <script src="{staticurl action="jquery.js" type="js"}"></scri ...

随机推荐

  1. SQL Server存储过程备份数据库的脚本-干货

    拿AAAAAAAA数据库为例子,除了汉字标注的替换真实的数据,其他都不动        CREATE proc [dbo].[p_log_backupAAAAAAAA]    @dbname sysn ...

  2. WD HC510 不能被识别

    折腾半天,终于记得去查官方文档

  3. Java使用FeignClient发送HTTP 请求

    使用FeignClient发送HTTP请求1.添加依赖<!-- spring cloud jar--><dependency> <groupId>org.sprin ...

  4. [apue] syslog 导致 accept 出错?

    前几天在看apue第16章关于socket的例子,就是一个非常典型的socket服务器,关键代码如下: void serve (int sockfd) { int ret; int clfd; int ...

  5. 03-Node.js学习笔记-系统模块path路径操作

    3.1为什么要进行路径拼接 不同操作系统的路径分隔符不统一 /public/uploads/avatar window 上是 \ / 都可以 Linux 上是 / 3.2路径拼接语法 path.joi ...

  6. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) F2. Wrong Answer on test 233 (Hard Version) dp 数学

    F2. Wrong Answer on test 233 (Hard Version) Your program fails again. This time it gets "Wrong ...

  7. Python程序中的线程操作-线程队列

    目录 一.线程队列 二.先进先出 三.后进先出 四.存储数据时可设置优先级的队列 4.1 优先级队列 4.2 更多方法说明 一.线程队列 queue队列:使用import queue,用法与进程Que ...

  8. 《Effective-Ruby》读书笔记

    本篇是在我接触了 Ruby 很短一段时间后有幸捧起的一本书,下面结合自己的一些思考,来输出一下自己的读书笔记 前言 学习一门新的编程语言通常需要经过两个阶段: 第一个阶段是学习这门编程语言的语法和结构 ...

  9. SpringBoot实现登陆

    1.依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:/ ...

  10. Mybatis关联查询之三

    MyBatis的关联查询之自关联 自关联 一.entity实体类 public class City { private Integer cid; private String cname; priv ...