广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何使用Require.js封装原生js轮播图
  • 326
分享到

如何使用Require.js封装原生js轮播图

2024-04-02 19:04:59 326人浏览 八月长安
摘要

小编给大家分享一下如何使用Require.js封装原生js轮播图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!index.html页面:<!DOCTYPE html>

小编给大家分享一下如何使用Require.js封装原生js轮播图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

index.html页面:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>require.js封装轮播图</title>
<style type="text/CSS">
  *{
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #banner{
    width: 830px;
    height: 440px;
    border: solid 1px;
    margin: 50px auto;
    position: relative;
    overflow: hidden;
  }
  #banner ul{
    position: absolute;
    left: 0;
    top: 0;
  }
  #banner ul li{
    width: 830px;
    height: 440px;
    float: left;
  }
  #banner p{
    position: absolute;
    left: 50%;
    bottom: 10px;
    margin-left: -30px;
  }
  #banner p span{
    display: block;
    float: left;
    width: 15px;
    height: 15px;
    margin-right: 6px;
    background: #ccc;
    border-radius: 50%;
  }
  #banner p .on{
    background: red;
  }
</style>
<script type="text/javascript" src="require.js" data-main='init'></script>
<!--<script type="text/javascript">
  require(['slider'],function(mod){
  mod.slide()
})
</script>-->
</head>
<body>
  <div id="banner">
    <ul>
      <li><img src="images/1.jpg"/></li>
      <li><img src="images/2.jpg"/></li>
    </ul>
    <p>
      <span class="on"></span>
      <span></span>
      <span></span>
    </p>
  </div>
</body>
</html>

get.js代码如下:

define(function(require,exports,module){
  exports.getStyle = function (obj,name){
    if(obj.currentStyle){
      return obj.currentStyle[name];
    }else{
      return getComputedStyle(obj,false)[name];
    };
  };
});

init.js代码如下

require(['slider'],function(mod){
  mod.slide();
});

slider.js代码如下

define(function(require, exports, module) {
  var move = require('StartMove');
  var aBtn = document.getElementById('banner').getElementsByTagName('span');
  var oUl = document.getElementById('banner').getElementsByTagName('ul')[0];
  var aLi = oUl.children;
  //三张图片所占的宽度,length返回的是字符串中的字符数
    oUl.style.width = aLi.length * aLi[0].offsetWidth + 'px';
    exports.slide = function() {
      for(var i = 0; i < aBtn.length; i++) {
        aBtn[i].index = i;
        aBtn[i].onclick = function() {
          for(var i = 0; i < aBtn.length; i++) {
            aBtn[i].className = '';
          }
        aBtn[this.index].className = 'on';
          move.move(oUl, {
          left: -this.index * aLi[0].offsetWidth;
        });
      };
    };
  };
});

StartMove.js代码如下

define(function(require, exports, module) {
  var get = require('get');
  exports.move = function move(obj, JSON, complete) {
    clearInterval(obj.timer);
    var complete = complete || {};
    complete.dur = complete.dur || 1000;
    complete.easing = complete.easing || 'ease-out';
    var count = parseInt(complete.dur / 30); //总次数
    var start = {}; //{width:300,height:300}
    var dis = {};
    //{width:300,height:300}
    for(var name in json) {
      start[name] = parseFloat(get.getStyle(obj, name));
      dis[name] = json[name] - start[name];
    }
    var n = 0; //当前步数
    obj.timer = setInterval(function() {
    n++;
    for(var name in json) {
      var a = n / count;
      switch(complete.easing) {
        case 'linear':
        var cur = start[name] + a * dis[name];
        break;
        case 'ease-in':
        var cur = start[name] + Math.pow(a, 3) * dis[name];
        break;
        case 'ease-out':
        var a = 1 - n / count;
        var cur = start[name] + (1 - Math.pow(a, 3)) * dis[name];
        break;
      };
      if(name == 'opacity') {
          obj.style[name] = cur;
          obj.style.filter = 'alpha(' + cur * 100 + ')';
        } else {
          obj.style[name] = cur + 'px';
        };
      };
      if(n == count) {
        clearInterval(obj.timer)
        complete.fn && complete.fn();
      };
    }, 30);
   };
 });

看完了这篇文章,相信你对“如何使用Require.js封装原生js轮播图”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网html频道,感谢各位的阅读!

--结束END--

本文标题: 如何使用Require.js封装原生js轮播图

本文链接: https://www.lsjlt.com/news/76334.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用Require.js封装原生js轮播图
    小编给大家分享一下如何使用Require.js封装原生js轮播图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!index.html页面:<!DOCTYPE html>...
    99+
    2022-10-19
  • 原生js封装无缝轮播功能
    原生js封装无缝轮播插件,供大家参考,具体内容如下 说明: 这是一个使用原生js、es5语法写出的无缝轮播程序,代码中对相关api进行了封装,使得在引入该轮播js文件后,只需要在自己...
    99+
    2022-11-12
  • js原生代码如何实现轮播图
    这篇文章主要介绍js原生代码如何实现轮播图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、现在我们来看看它是什么样的效果,截一张图给大家看:二、无论我们做什么特效,都要记住一个原则...
    99+
    2022-10-19
  • 原生js如何实现轮播
    这篇文章主要为大家展示了“原生js如何实现轮播”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“原生js如何实现轮播”这篇文章吧。效果如下:代码如下:<!DO...
    99+
    2022-10-19
  • 如何使用JS原生实现带小白点轮播图
    这篇文章将为大家详细讲解有关如何使用JS原生实现带小白点轮播图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。css代码:*{   margin:0px...
    99+
    2022-10-19
  • 原生js如何实现无缝轮播图效果
    这篇文章主要介绍了原生js如何实现无缝轮播图效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。请看代码<!DOCTYPE h...
    99+
    2022-10-19
  • 原生js如何实现轮播特效
    这篇文章主要为大家展示了“原生js如何实现轮播特效”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“原生js如何实现轮播特效”这篇文章吧。首先css代码a{text...
    99+
    2022-10-19
  • js原生Ajax如何封装
    这篇文章主要介绍了js原生Ajax如何封装,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原理及概念AJAX即“Asynchronous Ja...
    99+
    2022-10-19
  • 原生Js如何实现简单无缝滚动轮播图
    这篇文章给大家分享的是有关原生Js如何实现简单无缝滚动轮播图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。原简单的滚动轮播代码<html><head>   &...
    99+
    2023-06-15
  • vue.js项目使用原生js实现移动端的轮播图
    目录前言一、了解原生js移动端的事件二、轮播图实战第一部分:template模板第一部分解读:第二部分:script标签内代码第二部分解读:第三部分:css样式部分三、效果图结束语前...
    99+
    2022-11-13
  • 如何使用原生的javascript来实现轮播图
    这篇文章主要介绍如何使用原生的javascript来实现轮播图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体代码如下所示:<!DOCTYPE html> &...
    99+
    2022-10-19
  • 怎么用原生JS实现简单的轮播图效果
    本篇内容主要讲解“怎么用原生JS实现简单的轮播图效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用原生JS实现简单的轮播图效果”吧!实现效果:功能需求:鼠标经过轮播图模块,左右按钮显示,离...
    99+
    2023-07-02
  • 这么用原生js自动轮播展示产品图片
    今天小编给大家分享一下这么用原生js自动轮播展示产品图片的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2022-10-19
  • vue.js中怎么使用原生js实现移动端的轮播图
    这篇文章主要介绍“vue.js中怎么使用原生js实现移动端的轮播图”,在日常操作中,相信很多人在vue.js中怎么使用原生js实现移动端的轮播图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue.js中怎么...
    99+
    2023-06-30
  • 原生js如何实现无缝轮播功能
    小编给大家分享一下原生js如何实现无缝轮播功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下说明:这是一个使用原生js、es5语法写出的无缝轮播程序,...
    99+
    2023-06-15
  • 如何使用原生js封装的ajax实例
    这篇文章主要为大家展示了“如何使用原生js封装的ajax实例”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用原生js封装的ajax实例”这篇文章吧。实例如...
    99+
    2022-10-19
  • Vue封装Swiper如何实现图片轮播效果
    小编给大家分享一下Vue封装Swiper如何实现图片轮播效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!图片轮播是前端中经常需...
    99+
    2022-10-19
  • 如何用js实现简单轮播图
    这篇文章主要介绍“如何用js实现简单轮播图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用js实现简单轮播图”文章能帮助大家解决问题。1.实现功能:2.实现思路:(1)鼠标放到图片上,显示箭头,...
    99+
    2023-07-02
  • Vue使用Swiper封装轮播图组件的方法详解
    目录Swiper为什么要封装组件开始封装1.下载安装Swiper2.引入css样式文件3.引入js文件4.把官网使用方法中的HTML结构复制粘贴过来5.初始化Swiper自定义效果完...
    99+
    2022-11-13
  • 原生JS如何改变透明度实现轮播效果
    这篇文章给大家分享的是有关原生JS如何改变透明度实现轮播效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。第一部分(html+css)包含的知识有:positon定位。最外层是一...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作