jQuery制作全屏宽度固定高度轮播图(实例讲解)


Posted in jQuery onJuly 08, 2017

前端新手自己写的,练习一下基本功,也是留下的第一次记录

html部分

div class="cm-banner">
  <div class="cm-banner-list">
    <ul id="cm_banner_list">
      <!--图片宽度和高度在css中定为1920x300-->
      <li><img src="cm-banner-01.png" /></li>
      <li><img src="cm-banner-02.png" /></li>
      <li><img src="cm-banner-03.png" /></li>
      <li><img src="cm-banner-04.png" /></li>
    </ul>
    <ul class="cm-banner-num" id="cm_banner_num"></ul>
  </div>
  <div class="cm-banner-in w">
    <img src="cm-arrow-left.png" id="cm_prev" class="cm-banner-arrow" />
    <img src="cm-arrow-right.png" id="cm_next" class="cm-banner-arrow" />
  </div>
</div>

css部分

*{
  margin: 0;
  padding: 0;
}
.cm-banner {
  width: 100%;
  height: 300px;
  overflow: hidden;
  cursor: pointer;
  position: relative;
}

.cm-banner-in {
  width: 1100px;
  height: 300px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -550px;
}

#cm_banner_list li{
  display: none;
  position: absolute;
  top: 0;
  left: 0;
}

.cm-banner-num {
  width: 100%;
  position: absolute;
  bottom: 0;
  text-align: center;
  z-index: 2; /*如果没有在这里设置层次小圆点的点击效果无法触发*/
}

.cm-banner-num li{
  width: 10px;
  margin: 10px 3px;
  height: 10px;
  background-color: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  display: inline-block;
  opacity: 0.7;
}

.cm-banner-num .active {
  background-color: #3982de;
}

.cm-banner-arrow {
  position: absolute;
  top: 50%;
  margin-top: -22px;
  opacity: 0.5;
  display: none;
}

#cm_prev {
  left: 0;
}

#cm_next {
  right: 0;
}

js部分

$(function(){
  //鼠标移入显示箭头按钮
  $('.cm-banner').hover(function(){
    $('.cm-banner-arrow').show();
    clearInterval(cm_timer);
  },function(){
    $('.cm-banner-arrow').hide();
    cm_timer = setInterval(function(){
      i++;
      if(i > cm_length - 1){
        i = 0;
      }
      $('#cm_banner_list li').eq(i).fadeIn(800).siblings().fadeOut(800);
      cm_toggle(i);
    },2500);
  });

  //鼠标移入箭头按钮高亮
  $('.cm-banner-arrow').hover(function(){
    $(this).css('opacity','1');
  },function(){
    $(this).css('opacity','0.5');
  });

  //初始化必要变量
  var i = 0;
  var cm_length = $('#cm_banner_list li').length;
  var cm_toggle = function(point){
    $('#cm_banner_num li').eq(point).addClass('active').siblings().removeClass('active');
  };

  //动态添加小圆点
  for(j = 0;j < cm_length;j++){
    $('#cm_banner_num').append('<li></li>');
  }

  //给第一个小圆点添加样式
  $('#cm_banner_num li').first().addClass('active');

  //给第一张图片添加样式
  $('#cm_banner_list li').first().css('display','block');

  //鼠标点击左箭头切换
  $('#cm_prev').click(function(){
    i--;
    if(i < 0){
      i = cm_length - 1;
    }
    $('#cm_banner_list li').eq(i).fadeIn(800).siblings().fadeOut(800);
    cm_toggle(i);
  });

  //鼠标点击右箭头切换
  $('#cm_next').click(function(){
    i++;
    if(i > cm_length - 1){
      i = 0;
    }
    $('#cm_banner_list li').eq(i).fadeIn(800).siblings().fadeOut(800);
    cm_toggle(i);
  });

  //鼠标点击圆点切换
  $('#cm_banner_num li').click(function(){
    var cm_index = $(this).index();
    $('#cm_banner_list li').eq(cm_index).fadeIn(800).siblings().fadeOut(800);
    i = cm_index;
    cm_toggle(cm_index);
  });

  //自动播放
  cm_timer = setInterval(function(){
    i++;
    if(i > cm_length - 1){
      i = 0;
    }
    $('#cm_banner_list li').eq(i).fadeIn(800).siblings().fadeOut(800);
    cm_toggle(i);
  },2500);
});

以上这篇jQuery制作全屏宽度固定高度轮播图(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 jQuery
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
jquery ajax异步提交表单数据的方法
Oct 27 jQuery
用jquery获取select标签中选中的option值及文本的示例
Jan 25 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
通过jquery的ajax请求本地的json文件方法
Aug 08 jQuery
jQuery实现获取及设置CSS样式操作详解
Sep 05 jQuery
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
Aug 08 jQuery
jQuery插件实现图片轮播效果
Oct 19 jQuery
JQuery 获取Dom元素的实例讲解
Jul 08 #jQuery
深入理解jquery的$.extend()、$.fn和$.fn.extend()
Jul 08 #jQuery
浅谈jQuery框架Ajax常用选项
Jul 08 #jQuery
jQuery 实现图片的依次加载图片功能
Jul 06 #jQuery
jQuery+ajax实现修改密码验证功能实例详解
Jul 06 #jQuery
jQuery实现选中行变色效果(实例讲解)
Jul 06 #jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 #jQuery
You might like
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
分页显示Oracle数据库记录的类之二
2006/10/09 PHP
PHP异常处理Exception类
2015/12/11 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
Ionic3 UI组件之autocomplete详解
2017/06/08 Javascript
深入了解javascript 数组的sort方法
2018/06/01 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
JavaScript递归函数解“汉诺塔”算法代码解析
2018/07/05 Javascript
Vue实现按钮旋转和移动位置的实例代码
2018/08/09 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
微信小程序如何播放腾讯视频的实现
2019/09/20 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
Python计算回文数的方法
2015/03/11 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
介绍Python中的fabs()方法的使用
2015/05/14 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Django开发中复选框用法示例
2018/03/20 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
利用python实现逐步回归
2020/02/24 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
高考考python编程是真的吗
2020/07/20 Python
Python通过getattr函数获取对象的属性值
2020/10/16 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
HTML5中的websocket实现直播功能
2018/05/21 HTML / CSS
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Nike意大利官网:Nike.com IT
2020/01/19 全球购物
好人好事事迹材料
2014/02/12 职场文书
研究生就业推荐表导师评语
2014/12/31 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript