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返回定位插件详解
May 15 jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
jQuery封装animate.css的实例
Jan 04 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
Jan 23 jQuery
jquery.param()实现数组或对象的序列化方法
Oct 08 jQuery
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
jquery实现二级导航下拉菜单效果实例
May 14 jQuery
jQuery Migrate 插件用法实例详解
May 22 jQuery
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
jQuery 淡入/淡出效果函数用法分析
May 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
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
2011/08/02 PHP
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
PHP+MySQL实现模糊查询员工信息功能示例
2018/06/01 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
PHP 命名空间和自动加载原理与用法实例分析
2020/04/29 PHP
JavaScript中链式调用之研习
2011/04/07 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
javascript的函数作用域
2014/11/12 Javascript
使用jQuery仿苹果官网焦点图特效
2014/12/23 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
JQuery跳出each循环的方法
2015/04/16 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
vue-cli3.0使用及部分配置详解
2018/08/29 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python中django学习心得
2017/12/06 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
python conda操作方法
2019/09/11 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
美国受欢迎的眼影品牌:BH Cosmetics
2016/10/25 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
高一化学教学反思
2014/02/05 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
关爱老人标语
2014/06/21 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
自我工作评价范文
2015/03/06 职场文书
承诺书模板大全
2015/05/04 职场文书
apache ftpserver搭建ftp服务器
2022/05/20 Servers