`

seajs官方小实例

阅读更多

一.目录结构



二.代码

hello.html

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Hello Sea.js</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div id="container">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb32QfE.png" width="44" height="44" alt="H">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb2rJHI.png" width="44" height="44" alt="e">
  <img src="https://i.alipayobjects.com/e/201211/1cqKeZrUpg.png" width="44" height="44" alt="l">
  <img src="https://i.alipayobjects.com/e/201211/1cqM4u3Ejk.png" width="44" height="44" alt="l">
  <img src="https://i.alipayobjects.com/e/201211/1cqKoKV2Sa.png" width="44" height="44" alt="o">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb4JU4K.png" width="44" height="44" alt=",">
  <img src="https://i.alipayobjects.com/e/201211/1cqKojFDLY.png" width="44" height="44" alt="S">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb2sBO8.png" width="44" height="44" alt="e">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb2LmXk.png" width="44" height="44" alt="a">
  <img src="https://i.alipayobjects.com/e/201211/1cqKb1jcWC.png" width="44" height="44" alt="J">
  <img src="https://i.alipayobjects.com/e/201211/1cqKojb72y.png" width="44" height="44" alt="S">
</div>

<script src="sea-modules/sea.js"></script>
<script>

  // Set configuration
  seajs.config({
    base: "./sea-modules/",
    alias: {
      "jquery": "jquery/jquery/1.10.1/jquery.js"
    }
  });
  
  seajs.use("./main");
</script>

</body>
</html>

main.js

define(function(require) {

  var Spinning = require('./spinning');

  var s = new Spinning('#container');
  s.render();

});

spinning.js

define(function(require, exports, module) {

  var $ = require('jquery');

  function Spinning(container) {
    this.container = $(container);
    this.icons = this.container.children();
    this.spinnings = [];
  }

  module.exports = Spinning;

  Spinning.prototype.render = function() {
    this._init();
    this.container.css('background', 'none');
    this.icons.show();
    this._spin();
  }

  Spinning.prototype._init = function() {
    var spinnings = this.spinnings;

    $(this.icons).each(function(n) {
      var startDeg = random(360);
      var node = $(this);
      var timer;

      node.css({
        top: random(40),
        left: n * 50 + random(10),
        zIndex: 1000
      }).hover(
          function() {
            node.fadeTo(250, 1)
                .css('zIndex', 1001)
                .css('transform', 'rotate(0deg)');

          },
          function() {
            node.fadeTo(250, .6).css('zIndex', 1000);
            timer && clearTimeout(timer);
            timer = setTimeout(spin, Math.ceil(random(10000)));
          }
      );

      function spin() {
        node.css('transform', 'rotate(' + startDeg + 'deg)');
      }

      spinnings[n] = spin;
    })

    return this;
  }

  Spinning.prototype._spin = function() {

    $(this.spinnings).each(function(i, fn) {
      setTimeout(fn, Math.ceil(random(3000)));
    });

    return this;
  }

  function random(x) { return Math.random() * x };

});

 

三.运行结果



seajs官网:http://seajs.org/docs/

 

  • 大小: 10.6 KB
  • 大小: 26.4 KB
分享到:
评论

相关推荐

    seajs入门小实例

    Seajs 是一个轻量级的前端模块加载器,它的出现是为了在浏览器环境中实现模块化开发,使得JavaScript代码的组织更加有序,便于维护和协作。Seajs 的设计思想深受CommonJS的影响,但考虑到浏览器环境的特性,它并没有...

    SeaJS入门实例

    ### SeaJS入门实例详解 #### 一、简介与背景 SeaJS是一款优秀的JavaScript模块加载器,它基于CommonJS Modules 1.1规范设计,适用于浏览器环境。与Node.js的module 1.0规范类似,SeaJS能够帮助开发者更好地组织和...

    seajs_2.3.0以及学习文档

    5. **案例分析**:通过具体项目实例,展示 Seajs 在实际应用中的效果和优势。 `seajs-2.3.0` 压缩包则包含了 Seajs 的源代码,你可以深入研究其内部实现,了解其加载和执行模块的原理,对于理解前端模块化和优化...

    seajs入门完整案例,适合新手学习

    在用户Example01中,你可能会看到一个简单的 Seajs 应用实例,包括配置文件、模块定义和使用。通过这个案例,你可以学习如何创建模块,如何设置和使用配置,以及如何在实际项目中整合 Seajs。逐步理解和实践这些知识...

    seajs实例-能正常运行

    最近在学习seajs , 百度了一下教程, 网上有很多范例, 大多都是互相抄袭,并没有验证是否能正常运行. 很多都直接忽略了 jquery 的模块化. 我按他们的步骤做完之后,出现很多问题,所以我把网上的一个例子, 补充完整 ,...

    SeaJS中use函数用法实例分析

    SeaJS是一个遵循CMD(Common Module Definition)规范的JavaScript模块加载器,由支付宝前端团队开发。它可以帮助开发者以模块化的方式组织JavaScript代码,从而实现模块的加载、依赖管理和异步加载等需求。SeaJS的...

    seajs 源代码 学习

    4. **参考文档**:官方文档和社区博客(如给定的博文链接)是学习的重要资源,通过阅读和实践,加深对 Seajs 的理解和运用。 四、Seajs 的应用场景 Seajs 适用于大型项目的前端开发,特别是在有多个团队协作、模块...

    seajs模块压缩问题与解决方法实例分析

    本文将详细介绍seajs模块压缩问题与解决方法,并通过实例分析来阐述问题的出现以及相应的解决方法。 首先,seajs模块压缩问题主要出现在模块化开发过程中对模块依赖的解析上。seajs通过define函数来定义模块,并且...

    seajs simple demo

    在这个“seajs simple demo”项目中,作者通过实例展示了如何使用Seajs将原先混乱的JavaScript插件组织成模块,使得代码结构更加清晰。通过学习这个demo,你可以更好地理解Seajs的使用方法,并将其应用到自己的项目...

    Seajs源码详解分析

    近几年前端工程化越来越完善,打包工具也已经是前端标配了,像seajs这种老古董早已停止维护,而且使用的人估计也几个了。但这并不能阻止好奇的我,为了了解当年的前端前辈们是如何在浏览器进行代码模块化的,我鼓起...

    seajs中模块依赖的加载处理实例分析

    本文实例讲述了seajs中模块依赖的加载处理。分享给大家供大家参考,具体如下: 最近在做项目的时候发现一些关于模块依赖问题,特记录下: 比如现有3个文件: /*init.js*/ define(function(require, exports, module)...

    JavaScript 模块化开发实例详解【seajs、requirejs库使用】

    Seajs和RequireJS是两种常见的JavaScript模块化解决方案库,它们都是基于AMD(Asynchronous Module Definition)规范的实现。 Seajs是一个轻量级的模块加载器,它的核心特性包括: 1. **模块定义**:使用`define`...

    seajs下require书写约定实例分析

    本文实例讲述了seajs下require书写约定。分享给大家供大家参考,具体如下: require 书写约定 使用 Sea.js 书写模块代码时,需要遵循一些简单规则。 只是书写和调试时的规范!!!构建后的代码完全不需要遵循下面的...

    seajs学习之模块的依赖加载及模块API的导出

    每个模块对应一个`Module`实例,该实例包含了模块的基本信息。`Module`类有以下几个关键属性: 1. `uri`: 模块的唯一标识,即模块的URL。 2. `dependencies`: 一个数组,存储模块的依赖项,即需要先加载的其他模块...

    seajs中最常用的7个功能、配置示例

    本文实例讲述了seajs中最常用的7个功能、配置。分享给大家供大家参考,具体如下: 1. seajs.config seajs.config({ // 设置路径,方便跨项目调用 paths: { 'path1': '....', 'path2': '....' }, // 设置别名...

    sea.js官方实例

    这个“sea.js 官方实例”压缩包包含了一系列示例,帮助开发者更好地理解和应用 Sea.js。以下是关于 Sea.js 和其示例的详细解释: 1. **Sea.js 基础概念**: - **模块化**:Sea.js 提供了一种在浏览器端管理代码...

Global site tag (gtag.js) - Google Analytics