轮播图

css轮播图实现

实现要点:

  • laber标签和单选框的结合
  • E+F, E~F 类型选择器的使用
  • 伪类选择符 E:checked的使用
  • css轮播图

jquery轮播图实现原理

html和css部分

<style>
    .container {
            position: relative;
            height: 300px;
            width: 200px;
            overflow: hidden;
        }
        
     .carousel img {
            width: 200px;
            height: 300px;
     }
        
     .carousel {
            position: absolute;
            left: 0;  /*通过该值来控制container中呈现的内容*/
            width: 800px;
      }
        
      .carousel>li {
            float: left; /*让carousel内部的图片水平排布*/
      }
</style>
<div class="container">
        <ul class="carousel">
            <li>轮播图片</li>
        <li>轮播图片</li>
        <li>轮播图片</li>
            <li>轮播图片</li>        
        </ul>
<div>
  • 让carousel内部的图片水平排布;为container设置宽高(一张图片的大小),并设置overflow为hidden,即让一个图片大小的内容呈现出来.让carousel绝对定位,通过其left值来控制container中呈现的内容.

JavaScript部分

  • 通过 $(node).animate()来实现动画效果(通过 $(node).css('left','-200px')也可以实现图片切换效果,但是没有动画效果)
// 通过$(node).animate()来修改carousel的left值,从而实现动画效果
$carousel.animate({left: "-200px"}, 1000);
  • 轮播图一直向右切换到达最后一张图片image4(或一直向左切换到达第一张图片),此时再向右切换时,如果直接使用$(node).animate()切换到第一张图片的话,轮播图会呈现从最后一张向左滑动到第一张,影响滑动效果.
  • 为了解决上述问题,需要在轮播图的最后添加image1,在轮播图的开头添加image4(如下图所示). 当滑动到最右端image1时,可以使用 $(node).css('left','xxxpx') "暗地里" 切换到前面的image1;下次再往右切换就从前面的image01开始,从而实现统一的滑动效果.
688001.jpg
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.背景介绍 轮播图,是由网页banner进化而来,通常放在屏幕最显眼的位置,以大图显示。随着互联网的发展...
    xiaoyudesu阅读 8,650评论 0 16
  • 主要思路 1.我们需要自定义一个继承自FrameLayout的布局,利用FrameLayout布-局的特性(在同一...
    ZebraWei阅读 7,178评论 0 5
  • 1.背景介绍 轮播图,是由网页banner进化而来,通常放在屏幕最显眼的位置,以大图显示。随着互联网的发展,网页中...
    xiaoyudesu阅读 7,075评论 0 8
  • 今天是大年三十,猴年最后一天。为了完成自己在年初定的每周一篇前端周记的目标,又因为之后就要开启疯狂百年模式,所以决...
    ac68882199a1阅读 19,127评论 13 38
  • 前言 目前市场上的APP中,轮播图可以说是很常见的。一个好的轮播图,基本上适用于所有的APP。是时候打造一个自己的...
    带心情去旅行阅读 17,543评论 15 93

友情链接更多精彩内容