如何前后移动元素
How to move element front and back?
DEMO:HERE
我在应用程序中使用raphael js
。在这里,我需要在纸上重新排列元素顺序。我想一次移动一个地方的后部或前部元素。我尝试使用toFront()
和toBak()
,但它移动到纸的末尾或顶部。我只想移动 1 个位置。
更新:我正在尝试为重叠元素找到解决方案。我的意思是假设我在纸上添加 2 个元素并将 1 个元素拖到另一个元素上。有没有办法找到第二个元素在元素 1 之上。
例如>假设我的论文中有Rect, circle, rect2
。我想rect2
移动到circle
的位置,反之亦然。我没有办法在 element.prev and
element.nex't RaphaelJS. There are two methods,
做到这一点。我尝试使用它们,但无法理解如何使用它们。
法典:
<b>Click on rectangle</b>
<div id="editor"></div>
<button type = "button" onclick="moveBack()" >Back
.JS:
var paper = Raphael("editor", 635,500),
canvas= document.getElementById('editor').style.backgroundColor='gray';
r1 = paper.rect(80,40,250,80,5)
r2 = paper.rect(180,80,290,80,5)
r3 = paper.rect(120,140,200,80,5)
r1.attr({
fill:'red',
});
r2.attr({
fill:'blue',
});
r3.attr({
fill:'green',
});
ft= paper.freeTransform(r1,{draw:['bbox'],
rotate: true,keepRatio:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides'],
scale:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides' ]});
ft= paper.freeTransform(r2,{draw:['bbox'],
rotate: true,keepRatio:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides'],
scale:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides' ]});
ft= paper.freeTransform(r3,{draw:['bbox'],
rotate: true,keepRatio:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides'],
scale:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides' ]});
var moveBack = function () {
r2.toBack();
}
你可以尝试Raphaels insertBefore和insertAfter 来到达正确的位置。
element.insertAfter( otherEl );
.doc
相关文章:
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 将元素移动到右侧,然后返回到左侧
- 将jQuery draggable()元素移动到新的父元素
- Jquery-将图像从一个元素移动到另一个元素
- Css-是否可以在调整屏幕大小时使元素移动,以使其适合屏幕
- 制作元素移动的动画
- 如何将较低的z级元素移动到透明png下方
- SVG文本锚点设置使文本元素移动
- 如何将元素移动到鼠标位置
- d3:应用 scale() 变换时元素移动
- jQuery UI 工具提示在源 DOM 元素移动时卡住打开
- 如何在页面上选择文本块,然后将元素移动到其前面
- 下拉列表使元素移动
- 将一个元素移动到另一个元素中,其余元素将转到第三个位置
- 将最后一个元素移动到数组中的第二个项目的最快方法
- Javascript以可变的角度和速度为元素移动制作动画
- 在 JavaScript 中将数组元素移动到变量
- 使用jQuery单击时将元素移动/复制到另一个位置
- 将排序数组的数组元素移动到具有特殊逻辑的另一个位置
- 如何跟踪元素移动和特定位置的触发功能