Dom动态移动元素

动态移动dom元素

移动元素包括向左和向右移动选中的,向左和向右移动全部的

我们以下面的html代码为例:

<body>

//要移动的元素

<select multiple="multiple" size="10" id="ldatas">

<option>选项1</option>

<option>选项2</option>

<option>选项3</option>

<option>选项4</option>

<option>选项5</option>

<option>选项6</option>

<option>选项7</option>

<option>选项8</option>

<option>选项9</option>

<option>选项10</option>

</select>

//移动的按钮

<input type="button" id="rmove" value="-->" οnclick="removeRight()"/>
<input type="button" id="rmoveAll" value="==>" οnclick="moveAllRight()"/>
<input type="button" id="lmoveOne" value="<--" οnclick="removeLeft()"/>
<input type="button" id="lmoveAll" value="<==" οnclick="moveAllLeft()"/>

//要移动的目的地

<select multiple="multiple" size="10" id="rdatas">

</select>

</body>

1.首先来看向右移动全部的代码解析:

function moveRightAll(){

//获取右移的节点对象

var lrmoveAllNode = get("rmoveAll");

//添加事件

rmoveAll.onclick = function(){

//select节点的获取

var ldataNode = get("ldatas");

//获取该节点下面的所有的option节点对象

var loptionsNode = ldataNode.getElementsByTagName("option");

//获取要添加到的节点对象

var rdatasNode = get("rdatas");

//如果把loptionsNode.length放到for中是变值

var lengths = loptionsNode.length;//定值

for(var i = 0;i<lengths;i++){

//ldatasNode 个数10 始终移第一个

rdatasNode.appendChild(loptionsNode[0]);

}

}

}.

2. 向左移动全部的元素节点:

//向左移动全部节点

function moveAllLeft(){

var lmoveAllNode = get("lmoveAll");

lmoveAllNode.onclick = function(){

//获取左移节点的对象

var rdataNode = get("rdatas");

//获取左移的所有的option节点

var roptionsNode = rdataNode.getElementsByTagName("option");

//获取左边的节点对象

var ldatasNode = get("ldatas");

var lengths = roptionsNode.length;//定值

for (var i = 0; i < lengths; i++) {

//ldatasNode 个数10 始终移第一个

ldatasNode.appendChild(roptionsNode[0]);

}

}

}

3.单向向右移动

//向右移动全部节点

function moveAllRight(){

//获取右移的节点对象

var lrmoveAllNode = get("rmoveAll");

//添加事件

rmoveAll.onclick = function(){

//select节点的获取

var ldataNode = get("ldatas");

//获取该节点下面的所有的option节点对象

var loptionsNode = ldataNode.getElementsByTagName("option");

//获取要添加到的节点对象

var rdatasNode = get("rdatas");

//如果

//如果把loptionsNode.length放到for中是变值

var lengths = loptionsNode.length;//定值

for (var i = 0; i < lengths; i++) {

//ldatasNode 个数10 始终移第一个

rdatasNode.appendChild(loptionsNode[0]);

}

}

}

4.单向向左移动

function removeLeft(){

//往左移

var rmoveNode = get("lmoveOne");

rmoveNode.onclick = function(){

//获取右边节点中的所有的option

var rdatasNode = get("rdatas");

//获取option对象

var loptionsNode = rdatasNode.getElementsByTagName("option");

//获取左边节点

var ldatasNode = get("ldatas");

for (var i = 0; i < loptionsNode.length; i++) {

if (loptionsNode[i].selected) {

ldatasNode.appendChild(loptionsNode[i]);

i--;

}

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用JavaScript中的DOM操作来实现此功能。具体的代码如下: ```javascript var element = document.getElementById("example"); // 获取需要移动元素 element.style.position = "relative"; // 设置元素的定位方式为相对定位 element.style.top = "150px"; // 设置元素相对于原始位置向下移动150px ``` 这里假设需要移动元素的id是example。你可以根据实际情况进行修改。 ### 回答2: 要让JavaScript中的DOM元素向下移动150像素,可以使用style属性来修改元素位置。以下是一种简单的方法: 首先,我们需要使用document.querySelector()方法或其他选择器来获取要移动元素。例如,如果我们要移动id为"myElement"的元素,可以使用以下代码获取该元素: ```javascript var element = document.querySelector("#myElement"); ``` 接下来,我们可以使用style.top属性来将元素向下移动。首先,我们需要获取元素当前的top偏移量。可以使用parseInt()函数将style.top的字符串值转换为整数。然后,将该值加上150,表示下移150像素,并将结果转换回字符串。最后,将新的top偏移量赋值给元素的style.top。以下是完整的代码示例: ```javascript var element = document.querySelector("#myElement"); var currentTop = parseInt(element.style.top) || 0; var newTop = currentTop + 150; element.style.top = newTop + "px"; ``` 上述代码首先获取了要移动元素,然后使用parseInt()函数获取元素当前的top偏移量。如果元素未设置top属性,则返回0。然后,将当前偏移量加上150,并将新的偏移量赋值给元素的style.top属性,加上"px"单位以表示像素。这将使元素向下移动150像素。 请注意,该方法将移动元素相对于其当前位置的指定像素,而不是相对于文档的顶部。如果要相对于文档顶部移动元素,可以将元素的position属性设置为"absolute",并使用style.top属性来移动元素。 ### 回答3: 要将一个DOM元素往下移动150px,可以使用JavaScript来操作元素的CSS样式。以下是一种实现的方法: 1. 首先,需要获取要移动元素。可以通过document.querySelector()或document.getElementById()等方法获取到需要移动元素,例如: ``` const element = document.querySelector('.target-element'); ``` 2. 接下来,可以使用元素的style属性来修改元素的CSS样式。需要注意的是,需要使用字符串形式指定要移动的距离并加上单位"px",例如: ``` element.style.top = '150px'; // 指定元素的top属性为"150px" ``` 3. 这样就可以将元素向下移动150px了。 完整的代码示例如下: ``` const element = document.querySelector('.target-element'); element.style.top = '150px'; ``` 以上就是使用JavaScript将一个DOM元素往下移动150px的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值