html基本框架如下:

 <div class="out">
<ul class="img">
<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>
</ul>
<ul class="num"></ul>
<div class="left btn"><</div>
<div class="right btn">></div>
</div>

它的css样式如下:(供参考)

<style>
*{
margin: 0;
padding: 0;
}
ul{
list-style: none;
}
.out{
width: 730px;
height: 454px;
margin: 50px auto;
position: relative;
}
.out .img li{
position: absolute;
left: 0;
top: 0;
}
.out .num{
position: absolute;
left:0;
bottom: 20px;
text-align: center;
font-size: 0;
width: 100%;
}
.out .btn{
position: absolute;
top:50%;
margin-top: -30px;
width: 30px;
height: 60px;
background-color: aliceblue;
color: black;
text-align: center;
line-height: 60px;
font-size: 40px;
display: none;
}
.out .num li{
width: 20px;
height: 20px;
background-color: black;
color: #fff;
text-align: center;
line-height: 20px;
border-radius: 60%;
display: inline;
font-size: 18px;
margin: 0 10px;
cursor: pointer;
}
.out .num li.active{
background-color: red;
}
.out .left{
left: 0;
}
.out .right{
right: 0;
}
.out:hover .btn{
display: block;
color: white;
font-weight: 900;
background-color: black;
opacity: 0.8;
cursor: pointer; /* 页面显示一个手势样*/
}
.out img {
height: 100%;
width: 100%;
}
</style>

接下来就是重头戏了,看看js实现:

引入的jquery要放在自己写的js代码上面;

<script src="jquery-1.9.1.min.js"></script>
<script> $(function(){
var size=$(".img li").size(); //首先获取到图片的长度
for (var i= 1;i<=size;i++){
var li="<li>"+i+"</li>";
$(".num").append(li); //动态添加底部小圆点
}
$(".num li").eq(0).addClass("active"); $(".num li").mouseover(function(){
$(this).addClass("active").siblings().removeClass("active"); //给你放上的底部圆点添加样式,其它的圆点去掉active样式
var index=$(this).index();
i=index;
$(".img li").eq(index).fadeIn(1000).siblings().fadeOut(1000); //第index个图片淡入,其它的图片淡出
});
i=0;
var t=setInterval(move,1500);// setInterval方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭
function move(){
i++;
if(i==size){
i=0; //达到图片的尾部时,返回开头
}
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
$(".img li").eq(i).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
} function moveL(){
i--;
if(i==-1){
i=size-1;
}
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
$(".img li").eq(i).stop().fadeIn(1000).siblings().stop().fadeOut(1000);
}
$(".out").hover(function(){ //鼠标悬停时,停止调用函数
clearInterval(t);
},function(){ //鼠标移开之后定时器启动
t=setInterval(move,1500);
}); $(".out .right").click(function(){
move()
});
$(".out .left").click(function(){
moveL()
}) });
</script>

jq轮播图实现的更多相关文章

  1. jq轮播图插件

    /* * 使用说明  *    *   1:需要提供一个标签   *   2:lis:图片的个数 *   3:轮播图的大小 width ,height *   4:图片的地址imgs[0].carou ...

  2. jq 轮播图

    <style> #focus{width:500px;height:200px;overflow:hidden;/*用一个div把图片包含设置超出范围隐藏*/} </style> ...

  3. jq轮播图

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. jq轮播图插件—手写

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...

  5. jq 轮播图 上下自动滚动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. jq 轮播图 转载-周菜菜

    <style> li{list-style-type:none ; display:inline; width:90px; height:160px; float:left; } .pic ...

  7. jq demo 轮播图,图片可调用,向左,自动+鼠标点击切换

    <!doctype html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. jq demo 轮播图,图片可调用,向上,自动+鼠标点击切换

    1 <!doctype html> <html> <head> <meta http-equiv="Content-Type" conte ...

  9. 用原生的javascript 实现一个无限滚动的轮播图

    说一下思路:和我上一篇博客中用JQ去写的轮播图有相同点和不同点 相同点: 首先页面布局是一样的 同样是改变.inner盒子的位置去显示不同的图片 不同点: 为了实现无限滚动需要多添加两张重复的图片 左 ...

随机推荐

  1. redis还要做

    RedisTemplate对各种数据类型的操作记录. Redis深度历险:核心原理和应用实践 https://www.cnblogs.com/kismetv/p/8654978.html

  2. MySQL系列之二四种隔离级别及加锁

    事务 1.定义:所有操作必须成功完成,否则在每个操作中所作的所有更改都会备撤销. 2.事务的ACID 原子性atomicity   一致性consistency   隔离性isolation   持续 ...

  3. TLSv网络安全标准,会话加密协议展望未来

    本文是关于TLSv1.3采用的三部分系列的第三部分也是最后一部分.它解决了网络加密和监控的选项,包括备用会话加密协议. 通过TLSv1.3的批准,并在IETF出版物队列中,是时候考虑部署选项和障碍,并 ...

  4. 存储过程如何传变量到like下

    存储过程中执行如下DDL语句create or replace procedure etl_test(v_com varchar2) is v_spname varchar2(40); com var ...

  5. Factory Methods

    The static factory method pattern is a way to encapsulate object creation. Without a factory method, ...

  6. Java反射学习-2 - 获取Class对象的三种方式

    package cn.tx.reflect; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import ...

  7. STM32时钟设置

    一.使用外部时钟,并设置为72MHz void SetSysClockToHSE(void) { ErrorStatus HSEStartUpStatus; /* SYSCLK, HCLK, PCLK ...

  8. 组合的输出(回溯、dfs)

    问题 O: [回溯法]组合的输出 题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r<=n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r ...

  9. vue使用中的问题总结

    1.根实例问题 vue中的根实例可以有多个,每个根实例可以挂载DOM元素,只有在挂载的DOM元素上才可以使用该实例中的数据方法等. 并且,组件只有在某一个根实例所挂载的DOM元素上才可以使用. 2.组 ...

  10. PHPSTORM破解版激活方式方法

    方法一. 通过Licence Server 激活PHPStorm(快速) 方法原理是通过搭建服务器激活,不过网上有许多搭建好的. http://idea.goxz.gq http://v2mc.net ...