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实现二级联动效果
Mar 30 jQuery
jQuery实现select下拉框获取当前选中文本、值、索引
May 08 jQuery
jQuery操作css样式
May 15 jQuery
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
Mar 28 jQuery
jQuery实现form表单序列化转换为json对象功能示例
May 23 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
jQuery实现高级检索功能
May 28 jQuery
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
jQuery-App输入框实现实时搜索
Nov 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
在php中使用sockets:从新闻组中获取文章
2006/10/09 PHP
yii实现级联下拉菜单的方法
2014/07/31 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
jquery异步循环获取功能实现代码
2010/09/19 Javascript
使用jQuery模板来展现json数据的代码
2010/10/22 Javascript
JS中图片缓冲loading技术的实例代码
2013/08/29 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
js简单工厂模式用法实例
2015/06/30 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
JS中from 表单序列化提交的代码
2017/01/20 Javascript
关于使用axios的一些心得技巧分享
2017/07/02 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python实现完整的事务操作示例
2017/06/20 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
值得收藏,Python 开发中的高级技巧
2018/11/23 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
Python创建数字列表的示例
2019/11/28 Python
公司建议书怎么写
2014/05/15 职场文书
2015年乡镇纪检工作总结
2015/04/22 职场文书
烈士陵园观后感
2015/06/08 职场文书
捐款仪式主持词
2015/07/04 职场文书
Python PIL按比例裁剪图片
2022/05/11 Python
Java实现超大Excel文件解析(XSSF,SXSSF,easyExcel)
2022/07/15 Java/Android