写一个jQuery双向选择穿梭框 要求如下:1、通过鼠标单选或多选树形结构的数据然后点击按钮穿梭 不要复选框,按钮要在左右两边边框的中间垂直居中 2、加上左右两边穿梭框的边框
时间: 2024-04-11 16:28:40 浏览: 216
当然可以!下面是一个简单的实现示例:
HTML部分:
```html
<div class="container">
<div class="left-box">
<ul id="tree">
<li>
<span>节点1</span>
<ul>
<li><span>子节点1</span></li>
<li><span>子节点2</span></li>
</ul>
</li>
<li>
<span>节点2</span>
</li>
</ul>
</div>
<div class="buttons">
<button id="move-right">→</button>
<button id="move-left">←</button>
</div>
<div class="right-box">
<ul id="selected-nodes"></ul>
</div>
</div>
```
CSS部分:
```css
.container {
display: flex;
justify-content: center;
align-items: center;
}
.left-box, .right-box {
width: 200px;
height: 200px;
border: 1px solid #ccc;
overflow-y: scroll;
}
.buttons {
display: flex;
flex-direction: column;
align-items: center;
margin: 0 10px;
}
#move-right, #move-left {
margin-bottom: 10px;
}
ul {
padding-left: 20px;
}
li {
margin-bottom: 5px;
}
button {
width: 30px;
}
```
JavaScript部分:
```javascript
$(document).ready(function() {
// 左边树形结构单击事件
$('#tree span').click(function() {
$(this).toggleClass('selected');
});
// 右移按钮点击事件
$('#move-right').click(function() {
$('#tree span.selected').each(function() {
var node = $(this).clone();
$(this).removeClass('selected');
$('#selected-nodes').append($('<li></li>').append(node));
});
});
// 左移按钮点击事件
$('#move-left').click(function() {
$('#selected-nodes li:last-child').each(function() {
var node = $(this).children().first().clone();
$(this).remove();
$('#tree span:contains(' + node.text() + ')').addClass('selected');
});
});
});
```
这个示例实现了一个简单的jQuery双向选择穿梭框,通过鼠标单击树形结构的节点来选择,然后点击按钮进行穿梭。左边框是树形结构,右边框是选中的节点列表。按钮位于两个框之间,垂直居中。
希望这个示例能满足你的要求!如果有其他问题,请随时提问。
阅读全文