发布于 2016-12-16 00:16:18 | 127 次阅读 | 评论: 0 | 来源: 网友投递
MooTools JavaScript WEB应用框架
MooTools是一个简洁,模块化,面向对象的开源JavaScript web应用框架。
它为web开发者提供了一个跨浏览器js解决方案。在处理js、css、html时候。
它提供了一个比普通js更面向对象的documentAPI。
var myDrag = new Drag.Move(dragElement, {
// Drag.Move的选项
droppables: dropElement,
container: dragContainer,
// Drag的选项
handle: dragHandle,
// Drag.Move 的事件
// Drag.Move事件会传递拖动的元素,
// 还有可接纳拖动元素的元素(droppable)
onDrop: function(el, dr) {
// 显示拖动到可接纳元素的元素的id
alert(dr.get('id'));
},
// Drag事件
// Drag事件传递拖动的元素
onComplete: function(el) {
alert(el.get('id'));
}
});
// 这里我们通过id定义了一个元素
var dragElement = $('drag_element');
// 这里我们通过class定义了一组元素
var dropElements = $$('.drag_element');
var dragContainer = $('drag_container');
// 现在创建我们的Drag.Move对象
var myDrag = new Drag.Move(dragElement , {
// Drag.Move选项
// 把我们上面定义的droppable赋值给droppables
droppables: dropElements ,
// 把我们的容器元素变量赋值给容器
container: dragContainer
});
var dragContainer = $('drag_container');
var myDrag = new Drag.Move(dragElement , {
// Drag.Move选项
droppables: dropElements ,
container: dragContainer ,
// Drag.Move事件
// Drag.Move函数将传递可拖动的元素(这个例子中是'el')
// 还有接受拖动元素的元素(这个例子中是'dr')
onDrop: function(el, dr) {
// 下面这句的意思大概是:
// 如果你拖动的元素不是到了可以接受拖动元素的元素的范围内
if (!dr) {
// 什么都不做
}
// 否则(从逻辑上讲,
// 如果你拖动的那个的元素到了可接受拖动元素的元素范围内)
// 做这一件事件
else {
// 在这里做一些事情
};
},
onLeave: function(el, dr) {
// 这个事件将在拖动的元素离开可接受拖动对象的元素时触发
},
onEnter: function(el, dr) {
// 这个事件将在拖动的元素进入可接受拖动对象的元素时触发
}
});
// 这里我们使用了一个类选择器建立了一个数组
// 这将使得我们很轻易地添加多个控制对象,如果我们决定要有多个可接受拖动元素的元素
var dragHandle = $('drag_handle');
var myDrag = new Drag.Move(dragElement , {
// Drag选项
handle: dragHandle
});
var myDrag = new Drag.Move(dragElement , {
// Drag选项
// Drag选项将把拖动的元素作为参数传递
onStart: function(el) {
// 在这里放置开始拖动时你要做的任何事情
}
});
var myDrag = new Drag.Move(dragElement , {
// Drag选项
// Drag选项将把拖动的元素作为参数传递
onDrag: function(el) {
// 在这里放置开始拖动时你要做的任何事情
}
});
var myDrag = new Drag.Move(dragElement , {
// Drag选项
// Drag选项将把拖动的元素作为参数传递
onComplete: function(el) {
// 在这里放置开始拖动时你要做的任何事情
}
});
window.addEvent('domready', function() {
var dragElement = $('drag_me');
var dragContainer = $('drag_cont');
var dragHandle = $('drag_me_handle');
var dropElement = $$('.draggable');
var startEl = $('start');
var completeEl = $('complete');
var dragIndicatorEl = $('drag_ind');
var enterDrop = $('enter');
var leaveDrop = $('leave');
var dropDrop = $('drop_in_droppable');
var myDrag = new Drag.Move(dragElement, {
// Drag.Move选项
droppables: dropElement,
container: dragContainer,
// Drag选项
handle: dragHandle,
// Drag.Move事件
onDrop: function(el, dr) {
if (!dr) { }
else {
dropDrop.highlight('#FB911C'); //橙色闪烁
el.highlight('#fff'); //白色闪烁
dr.highlight('#667C4A'); //绿色闪烁
};
},
onLeave: function(el, dr) {
leaveDrop.highlight('#FB911C'); //橙色闪烁
},
onEnter: function(el, dr) {
enterDrop.highlight('#FB911C'); //橙色闪烁
},
// Drag事件
onStart: function(el) {
startEl.highlight('#FB911C'); //橙色闪烁
},
onDrag: function(el) {
dragIndicatorEl.highlight('#FB911C'); //橙色闪烁
},
onComplete: function(el) {
completeEl.highlight('#FB911C'); //橙色闪烁
}
});
});
/* 下面这个定义通常是不错的主意 */
body {
margin: 0
padding: 0
}
/* 确保可拖动的元素有"position: absolute" */
/* 并设置开始时的left和top属性 */
#drag_me {
width: 100px
height: 100px
background-color: #333
position: absolute
top: 0
left: 0
}
#drop_here {
width: 200px
height: 200px
background-color: #eee
}
/* 确保拖动的容器有“position:relative” */
#drag_cont {
background-color: #ccc
height: 600px
width: 500px
position: relative
margin-top: 100px
margin-left: 100px
}
#drag_me_handle {
width: 100%
height: auto
background-color: #666
}
#drag_me_handle span {
display: block
padding: 5px
}
.indicator {
width: 100%
height: auto
background-color: #0066FF
border-bottom: 1px solid #eee
}
.indicator span {
padding: 10px
display: block
}
.draggable {
width: 200px
height: 200px
background-color: blue
}
<div id="drag_cont">
<div id="start" class="indicator"><span>拖动开始</span></div>
<div id="drag_ind" class="indicator"><span>拖动中</span></div>
<div id="complete" class="indicator"><span>拖动结束</span></div>
<div id="enter" class="indicator"><span>进入了Droppable元素</span></div>
<div id="leave" class="indicator"><span>离开了Droppable元素</span></div>
<div id="drop_in_droppable" class="indicator"><span>放进了Droppable元素</span></div>
<div id="drag_me">
<div id="drag_me_handle"><span>控制对象</span></div>
</div>
<div id="drop_here" class="draggable"> </div>
</div>
这里是文档中一些相关的章节:
包含MooTools 1.2核心库、MooTools 1.2扩展库,一个包含你的函数的外部JavaScript文件,一个定义你的样式的外部CSS文件,一个简单的HTML文件和上面的例子。