引言

学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了。现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现。

实现原理

1、除第一张图片外,其余图片全部隐藏,4张图片重叠起来。

2、导航按钮添加mouseover和mouseleave事件。

3、设置interval函数,启动定时器调用ShowImg函数。

4、动态修改marginTop属性达到上下轮播的效果,说道动态修改margin属性,在以前滑动门中也是这个原理。

效果图(图片引用自橡树小屋博客)

实现代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index</title>
<script type="text/javascript" src="js/jquery-1.4.1.js"></script>
<style type="text/css">
    *{margin: 0;padding: 0;}
    ul li{list-style: none;}
    #scrollpics{width: 478px;height: 286px;overflow: hidden;position: relative;margin:30px 50px;}
    .num{position:absolute;right: 8px;bottom: 8px;}
    .num li {float:left;color:#FF7300;text-align: center;width: 16px;height: 16px;line-height: 16px;border: 1px solid #FF7300;background-color: #fff; border-radius: 10px;overflow: hidden;cursor: pointer;margin-left: 7px;}
    .num li.on {color:#fff;background-color: #FF7300;}
</style>
<script type="text/javascript">
     
    var index=0;
    var adTimer;
    $(function(){
        var len = $("ul.num li").length;
        $(".num li").mouseover(function(){
            index=$(".num li").index(this);
            ShowImg(index);
        });
        $("#scrollpics").hover(function(){
            clearInterval(adTimer);
        },function(){
            adTimer=setInterval(function(){
                ShowImg(index);
                index++;
                if(index==len){
                    index=0;
                }
            },3000)
        }).trigger('mouseleave');
    });
    function ShowImg(index){
        var adHeight=$("#scrollpics>ul>li:first").height();
        $(".slider").stop(true,false).animate({
            "marginTop":-adHeight*index+"px"
        },1000);
        $(".num li").removeClass("on").eq(index).addClass("on");
    }
</script>
</head>
<body>
    <div id="scrollpics">
        <ul class="slider">
            <li><img src="img/p1.jpg"></li>
            <li><img src="img/p3.jpg"></li>
            <li><img src="img/p4.jpg"></li>
            <li><img src="img/p5.jpg"></li>
        </ul>
        <ul class="num">
            <li class="on">1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
        </ul>
    </div>
</div>
</body>
</html>

引言学习jQuery有年头了,刚开始学习时自己动手写过轮播图,放的久了以至于忘了大致思路了。现在转而做前端,抽空把jquery轮播图拿出来写一写,把各种思路都自己练习练习,这里主要使用动态修改marginTop来实现。实现原理1、除第一张图片外,其余图片全部隐藏,4张图片重叠起来。2、导航按钮添加mouseover和mouseleave事件。3、设置interval函数,启动定时器调用ShowImg函数。4、动态修改marginTop属性达到上下轮播的效果,说道动态修改margin属性,在以前滑动门中也是这个原理。效果图(图片引用自橡树小屋博客)实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index</title>
<script type="text/javascript" src="js/jquery-1.4.1.js"></script>
<style type="text/css">*{margin: 0;padding: 0;}ul li{list-style: none;}#scrollpics{width: 478px;height: 286px;overflow: hidden;position: relative;margin:30px 50px;}.num{position:absolute;right: 8px;bottom: 8px;}.num li {float:left;color:#FF7300;text-align: center;width: 16px;height: 16px;line-height: 16px;border: 1px solid #FF7300;background-color: #fff; border-radius: 10px;overflow: hidden;cursor: pointer;margin-left: 7px;}.num li.on {color:#fff;background-color: #FF7300;}
</style>
<script type="text/javascript">var index=0;var adTimer;$(function(){var len = $("ul.num li").length;$(".num li").mouseover(function(){index=$(".num li").index(this);ShowImg(index);});$("#scrollpics").hover(function(){clearInterval(adTimer);},function(){adTimer=setInterval(function(){ShowImg(index);index++;if(index==len){index=0;}},3000)}).trigger('mouseleave');});function ShowImg(index){var adHeight=$("#scrollpics>ul>li:first").height();$(".slider").stop(true,false).animate({"marginTop":-adHeight*index+"px"},1000);$(".num li").removeClass("on").eq(index).addClass("on");}
</script>
</head>
<body><div id="scrollpics"><ul class="slider"><li><img src="img/p1.jpg"></li><li><img src="img/p3.jpg"></li><li><img src="img/p4.jpg"></li><li><img src="img/p5.jpg"></li></ul><ul class="num"><li class="on">1</li><li>2</li><li>3</li><li>4</li></ul></div>
</div>
</body>
</html>

自己动手丰衣足食之轮播图一动态修改marginTop属性实现轮播图相关推荐

  1. UE4 动态修改材质 控制颜色和贴图

    首先在Construction当中创建动态材质,然后将动态材质赋值给角色,在Event Graph当中通过按键来控制贴图或者颜色的修改. 1.修改颜色 根据角色Mesh上的第一个Material,来创 ...

  2. echarts 折线图小圆点修改为实心symbolSize,折线图下方半透明效果

    Echarts之symbolSize的大小设置 - 知乎 代码 option = {xAxis: {type: 'time',},yAxis: {},dataZoom: [],series: [{na ...

  3. html5圆形图片轮播,jQuery超酷响应式圆形图片轮播图特效

    mislider是一款效果非常酷的jQuery响应式圆形图片轮播图特效插件.该轮播图特效可以将图片以圆形图片显示,然后使图片无限循环形成轮播图或旋转木马特效.该轮播图插件的特点有: 使用简单 在同一个 ...

  4. html点击小图轮播图,使用纯CSS实现点击轮播图效果,无js。

    使用纯CSS实现图片轮播效果 首先我们来看一下所实现轮播图的最终效果: 轮播图 效果 接下来为html+css代码部分: 以下为HTML代码部分: 以下为CSS代码部分: *{ margin:0; p ...

  5. 响应式html轮播图,最简单的响应式jQuery轮播图插件

    easySlider.js是一款轻量级.简单易用的响应式jQuery轮播图插件.easySlider.js可以根据视口的大小来动态修改轮播图的尺寸.它压缩后的版本仅5K大小,简单实用. 使用方法 在页 ...

  6. php实现轮播图代码,微信小程序实例:轮播图的代码实现与分析

    本篇文章给大家带来的内容是关于微信小程序实例:轮播图的代码实现与分析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 本文来说说轮播图,最常见的一个轮播图,中间带小圆点,自动轮播. S ...

  7. 从0开始编写dapper核心功能、压榨性能、自己动手丰衣足食

    我偶然听说sqlsugar的性能比dapper强.对此我表示怀疑(由于我一直使用的dapper存在偏见吧),于是自己测试了sqlsugar.freesql.dapper发现他们的给我的结果是 sqls ...

  8. 解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题、滑动后不能轮播的问题。

    解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题.滑动后不能轮播的问题. 参考文章: (1)解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题.滑动后不能轮播 ...

  9. android 层叠轮播,vue手写一个卡片化层叠轮播(支持滑动,移动端连续滚动,点击)...

    项目需求,需要写一个卡片化层叠的轮播,找了下插件都没有合适的,于是写了一个展示5个卡片的轮播 先看效果图: 卡片化层叠轮播 5个卡片要计算各自的高度,宽度,利用相对定位计算出各自的位置 然后trans ...

  10. 一键免费下载全网在线视频素材,自己动手丰衣足食

    最近经常分享一个下载视频和音乐的下载方法,今天看到这个震惊了. 一键免费下载全网在线视频素材,自己动手丰衣足食

最新文章

  1. Surface Shading in Tiger Book
  2. shell 流程控制语句
  3. Tomcat服务器目录结构
  4. wordpress忘记登录密码,更改域名的办法。
  5. C#4.0新特性:可选参数,命名参数,Dynamic
  6. mysql 优化面试题
  7. 移远BC26模组连接阿里云物联网平台
  8. 串行口通讯测试软件,485串口测试软件
  9. Python数据分析实战(1)数据分析概述
  10. django系统发送邮件到用户邮箱,完成验证
  11. 如何在标准的机器学习流程上玩出新花样?
  12. .NET跨平台:在CentOS上编译dnx并运行ASP.NET 5示例程序
  13. 企业如何管理终端软件安装
  14. android友盟微信分享到朋友圈,2020年友盟分享到微信朋友圈
  15. 北京大学研究生计算机考试科目,北京大学计算机科学与技术(智能科学与技术)研究生考试科目和考研参考书目...
  16. Oracle ASM磁盘组冗余机制(Failure group)
  17. stm32h743能跑linux吗,关于stm32H743 can配置
  18. Blender图解教程:马里奥食人花三部曲(一)建模和贴图(附模型下载)
  19. 企业信使(企信通)辅助系统V1.1上线
  20. 03-GateWay过滤器

热门文章

  1. 计算机原始时代到现在著名的黑客
  2. android 状态栏高度多少像素,Android之获取屏幕的尺寸像素及获取状态栏标题栏高度...
  3. 毁人不倦 - 大公司小公司
  4. 微信小程序图片加载失败渲染层网络层错误
  5. A - Linearization of the kernel functions in SVM (模拟)
  6. angular烂笔头
  7. [授权发表]程序执行的那一刹那
  8. c语言的三个基本语句,C语言-桂林理工大学3-第三章 C程序设计的基本语句.doc
  9. 1-3 Python基本数据类型
  10. java判断是否英文_java如何判断字符串是否是英文