效果图

完整代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
.container {
overflow: hidden;
width: 550px;
margin: 0 auto;
}
.container .left {
float: left;
margin: 0 30px;
}
.container select {
width: 100%;
height: 200px;
}
.container .mid {
padding-top: 70px;
}
</style>
</head>
<body>
<div class="container">
<div class="left">
<h2>现任女友</h2>
<select id="sel1" multiple>
<option value="1">幂幂</option>
<option value="2">花花</option>
<option value="3">春春</option>
<option value="4">盈盈</option>
<option value="5">红红</option>
</select>
</div>
<div class="left mid">
<p>
<button title="右移动选中的">>></button>
</p>
<p>
<button title="右移动全部">>>|</button>
</p>
<p>
<button title="左移动选中的"><<</button>
</p>
<p>
<button title="左移动全部">|<<</button>
</p>
</div>
<div class="left">
<h2>前女友</h2>
<select id="sel2" multiple>
<option value="6">坤坤</option>
</select>
</div>
</div>
<script>
var btns = document.getElementsByTagName('button');
var sel = document.getElementsByTagName('select');
var leftOpts = sel[0].getElementsByTagName('option');
var rightOpts = sel[1].getElementsByTagName('option');
移动选中的一项
btns[0].onclick = function() {
for (var i = 0; i < leftOpts.length; i++) {
if (leftOpts[i].selected) {
var xOpt = leftOpts[i];
}
}
sel[1].appendChild(xOpt);
}
全部右移
btns[1].onclick = function() {
while (leftOpts.length != 0) {
sel[1].appendChild(leftOpts[0]);
}
}
移动选中的一项
btns[2].onclick = function() {
for (var i = 0; i < rightOpts.length; i++) {
if (rightOpts[i].selected) {
var xOpt = rightOpts[i];
}
}
sel[0].appendChild(xOpt);
}
全部左移
btns[3].onclick = function() {
while (rightOpts.length != 0) {
sel[0].appendChild(rightOpts[0]);
}
}
</script>
</body>
</html>