reorder.js
来自「PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。」· JavaScript 代码 · 共 53 行
JS
53 行
function getSibling(elm, which) { var ret = elm[which + 'Sibling']; while(!isUndefinedOrNull(ret) && ret.nodeName == '#text') ret = ret[which + 'Sibling']; if(isUndefinedOrNull(ret)) return false; return ret;}function swapItems(first, second) { // ALWAYS in order toggleElementClass('odd', first, second); toggleElementClass('even', first, second); first.parentNode.insertBefore(first, second); var pos = first.reorderField.value; first.reorderField.value = second.reorderField.value; second.reorderField.value = pos;}function moveUp() { var otherItem = getSibling(this, 'previous'); if(otherItem) { swapItems(this, otherItem); } return false;} function moveDown() { var otherItem = getSibling(this, 'next'); if(otherItem) { swapItems(otherItem, this); } return false;} function hookReorderDisplay() { var container = $('reorder-container'); if(isUndefinedOrNull(container)) return; forEach(getElementsByTagAndClassName('*', 'reorder-item', container), function(item) { var up = getElementsByTagAndClassName('*', 'reorder-up', item)[0], down = getElementsByTagAndClassName('*', 'reorder-down', item)[0]; up.onclick = bind(moveUp, item); down.onclick = bind(moveDown, item); item.reorderField = getElementsByTagAndClassName('input', 'reorder-field', item)[0]; });} addLoadEvent(hookReorderDisplay);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?