简单的渐变轮播插件

发布时间 - 2026-01-10 22:29:30    点击率:

话不多说,请看代码:

<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Example</title>
    <style>
.CreabineCarousel{
 width: 100%;
  height: 700px;
  background-size: cover;
  position: relative;
}
.CreabineCarousel .CreabineCarousel-dotContainer{
 position:absolute;
 bottom: 5%;
 margin:0 auto;
 z-index: 100;
 list-style-type: none;
 width: 100%;
 text-align: center;
 left: 0;
 padding: 0;
}
.CreabineCarousel .CreabineCarousel-dotContainer .dot{
 width: 30px;
 height: 4px;
 border-radius:3px;
 background-color:#fff;
 display: inline-block;
 margin:0 5px;
 opacity: 0.7;
}
.CreabineCarousel .CreabineCarousel-dotContainer .dot:hover{
 opacity: 1;
}
.CreabineCarousel .CreabineCarousel-item{
 position:absolute;
 width: 100%;
 height: 100%;
 transition:all 0.8s;
}
.CreabineCarousel .CreabineCarousel-item h1{
 max-width: 600px;
 text-align: center;
 font-size: 5rem;
 line-height: 1.3;
 color: #fff;
 padding: 300px 50px 0 50px;
 margin:0 auto;
}
.CreabineCarousel .CreabineCarousel-item p{
 max-width: 600px;
 text-align: center;
 font-size: 1.4rem;
 line-height: 1.4;
 color: #fff;
 padding-top: 10px 50px 0 50px;
 margin:0 auto;
}
    </style>
</head>
<body>
 <div id="carouselRoot"></div>
<script>
function CreabineCarousel(options){
 var imgPathList = options.images;
  var textList = options.contant;
  if (!options.root) {
    throw "require root to this CreabineCarousel";
  }
  if (!imgPathList) {
    throw "must provide parameter images";
  }
  if (imgPathList.length != textList.length) {
    throw "images are not equal to contants";
  }
  var changeCount = 0;
  var timer;
  var _autoScroll = options.autoScroll || false;
  var _scrollDuration = options.scrollDuration || 4000;
  var _height = options.height || 700;

  function initElements() {
   var _root = document.getElementById(options.root);
   if (!_root) {
      throw "no exist called this name element,please create element called this name";
    }
    _root.className = "CreabineCarousel";
    _root.style.height = _height + "px";
    var _dotContainer = document.createElement("ul");
    _dotContainer.className = 'CreabineCarousel-dotContainer';
    _root.appendChild(_dotContainer);
    for (var i = 0; i < imgPathList.length; i++) {
      var _dot = document.createElement("li");
      _dot.className = "dot";
      _dot.id = "item" + (i+1) + "dot";
      _dotContainer.appendChild(_dot);
      var _item = document.createElement("div");
      _item.className = "CreabineCarousel-item"
      _item.id = "item" + (i+1);
      _item.style.backgroundImage = "url(" + imgPathList[i] + ")";
      _item.style.backgroundSize = "cover";
      _item.style.backgroundRepeat = "no-repeat";
      if(i == 0){
        _item.style.opacity = '0';
        _item.style.zIndex = '1';
      }
      _root.appendChild(_item);
      var _h = document.createElement("h1");
      _h.innerText = textList[i].title;
      _item.appendChild(_h);
      var _p = document.createElement("p");
      _p.innerText = textList[i].text;
      _item.appendChild(_p);
    }
    _dotContainer.addEventListener("mouseover",function(e){
     if( e.target && e.target.className == "dot" ){
     clearInterval(timer);
     var id = e.target.id.substring(0,5);
     CarouselHover(id);
     }
    });
    _dotContainer.addEventListener("mouseout",function(e){
     if( e.target && e.target.className == "dot" ){
     var id = e.target.id;
     CarouselOut(id);
     }
    });
    if(_autoScroll){
      timer = setInterval(function(){Carousel()},_scrollDuration);
    }
  }
  function Carousel(){
    var all = document.getElementsByClassName('CreabineCarousel-item');
    for (var i = all.length - 1; i >= 0; i--) {
      all[i].style.opacity = '0';
      all[i].style.zIndex = '1';
    }
    var i=((changeCount++%5)+1);
    var id = "item" + i;
    document.getElementById(id).style.opacity = '1';
    document.getElementById(id).style.zIndex = '10';
  }
  function CarouselHover(id){
    clearInterval(timer);
    var all = document.getElementsByClassName('CreabineCarousel-item');
    for (var i = all.length - 1; i >= 0; i--) {
      all[i].style.opacity = '0';
      all[i].style.zIndex = '1';
    }
    document.getElementById(id).style.opacity = '1';
    document.getElementById(id).style.zIndex = '10';
  }
  function CarouselOut(id){
    var num = id.substring(4,5);
    num = parseInt(num)-1;
    changeCount = num;
    timer = window.setInterval(function(){Carousel()},_scrollDuration);
  }
  initElements();
 new CreabineCarousel({
 root:'carouselRoot',
 autoScroll:true,
        scrollDuration:3000,
 height:700,
 images:['https://cdn.worktile.com/images/index/index_all_bg_1.jpg?v=4.5.18','https://cdn.worktile.com/images/index/index_all_bg_2.jpg?v=4.5.18','https://cdn.worktile.com/images/index/index_all_bg_3.jpg?v=4.5.18','https://cdn.worktile.com/images/index/index_all_bg_4.jpg?v=4.5.18','https://cdn.worktile.com/images/index/index_all_bg_5.jpg?v=4.5.18'],
 contant:[
  {
  title:"title-1",
  text:"text-111"
  },
  {
  title:"title-2",
  text:"text-222"
  },
  {
  title:"title-3",
  text:"text-333"
  },
  {
  title:"title-4",
  text:"text-444"
  },
  {
  title:"title-5",
  text:"text-555"
  },
 ]
 });
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 渐变  # 轮播  # 插件  # jQuery简单自定义图片轮播插件及用法示例  # jQuery自适应轮播图插件Swiper用法示例  # jQuery的图片轮播插件PgwSlideshow使用详解  # Bootstrap 最常用的JS插件系列总结(图片轮播、标签切换等)  # Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js  # BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)  # 第十篇BootStrap轮播插件使用详解  # jQuery插件实现图片轮播特效  # jQuery图片轮播插件——前端开发必看  # jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果  # 多说  # hover  # item  # opacity  # transition  # max  # block  # border  # padding  # dot  # radius  # display  # inline  # color  # fff  # carouselRoot  # script  # div  # id  # function 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 大连 网站制作,大连天途有线官网?  如何注册花生壳免费域名并搭建个人网站?  Laravel如何处理文件下载请求?(Response示例)  EditPlus中的正则表达式 实战(1)  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  JS弹性运动实现方法分析  EditPlus中的正则表达式 实战(4)  Laravel Fortify是什么,和Jetstream有什么关系  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  uc浏览器二维码扫描入口_uc浏览器扫码功能使用地址  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  Laravel如何实现API资源集合?(Resource Collection教程)  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  EditPlus中的正则表达式实战(5)  java ZXing生成二维码及条码实例分享  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何在搬瓦工VPS快速搭建网站?  实例解析angularjs的filter过滤器  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel怎么为数据库表字段添加索引以优化查询  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel如何生成API文档?(Swagger/OpenAPI教程)  javascript读取文本节点方法小结  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何快速选择适合个人网站的云服务器配置?  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  linux top下的 minerd 木马清除方法  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  利用 Google AI 进行 YouTube 视频 SEO 描述优化  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何在IIS中新建站点并配置端口与物理路径?