

模块化基本写法:
define(function(require,exports,module){
})require:加载一个模块,后面跟的是一个js文件名
exports:输出
module:模块
举一个例子:
第一个js文件 ,get.js:
define(function(require,exports,module){
//将封装的这个函数,作为要第二个文件:StarMove.js
define(function(require,exports,module){
//加载上一个模块
var get = require('get');
//在第三个js文件 slide.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});
}
}
}
})第四个js文件 init.js
require(['slider'],function(mod){
mod.slide()
})主页面 banner.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></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;/*width: 2490px;
height: 440px;
overflow: hidden;*/}
#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"></script>
</head>
<body>
<div id="banner">
<ul>
<li><img src="images/1.jpg"/></li>
<li><img src="images/2.jpg"/></li>
<li><img src="images/3.jpg"/></li>
</ul>
<p>
<span class="on"></span>
<span></span>
<span></span>
</p>
</div>
</body>
</html>就会完成一个用模块化封装的轮播图:
要注意require的使用方法
