好了剛剛分配到一個新的項目,之前從未涉及的Javascript。現在數據在下面的代碼中上下移動。我需要添加到case語句「頂」和「底」,將用戶的移動選定行網格或底部或者頂部。我試圖谷歌搜索答案,但沒有太多的運氣。任何關於我可以繼續搜索的建議都會有所幫助。將數據移動到頂部或底部的W/Java腳本
確定新的問題。我添加了一些我創建的代碼。這是在「頂部」和「底部」的情況下的聲明我添加的代碼允許我選擇一個項目並將其移動到列表的最頂端。但將它移到底部,IE告訴我腳本需要很長時間。 ANy忠告?
別介意我得到的代碼工作。以下是工作代碼。
function move(direction) {
try {
if (CSAdmin.selectedItem.element &&
CSAdmin.selectedItem.ID) {
var row = CSAdmin.selectedItem.element;
var node =
getNode(CSAdmin.selectedItem.type, CSAdmin.selectedItem.ID);
if (node) {
var sibling = null;
var rowSibling = null;
var parent = node.parentNode;
var rowParent = row.parentNode;
switch (direction) {
case "up":
{
sibling = node.previousSibling;
if (sibling) {
parent.removeChild(node);
parent.insertBefore(node, sibling);
}
//Move the table row
rowSibling = row.previousSibling;
if (rowSibling) {
rowParent.removeChild(row);
rowParent.insertBefore(row, rowSibling);
}
break;
}
case "down":
{
sibling = node.nextSibling;
if (sibling) {
parent.removeChild(sibling);
parent.insertBefore(sibling, node);
}
//Move the table row if it isn't the insert row
rowSibling = row.nextSibling;
if (rowSibling && rowSibling.id.indexOf("new", 0) == -1) {
rowParent.removeChild(rowSibling);
rowParent.insertBefore(rowSibling, row);
}
break;
}
case "top":
{
sibling = node.previousSibling;
while (sibling) {
if (sibling) {
parent.removeChild(node);
parent.insertBefore(node, sibling);
sibling = node.previousSibling;
}
}
//Move the table row
rowSibling = row.previousSibling;
while (rowSibling) {
if (rowSibling) {
rowParent.removeChild(row);
rowParent.insertBefore(row, rowSibling);
rowSibling = row.previousSibling;
}
}
break;
}
case "bottom":
{
sibling = node.nextSibling;
while (sibling) {
if (sibling) {
parent.removeChild(sibling);
parent.insertBefore(sibling, node);
sibling = node.nextSibling;
}
}
//Move the table row if it isn't the insert row
rowSibling = row.nextSibling;
while (rowSibling && rowSibling.id.indexOf("new", 0) == -1) {
if (rowSibling && rowSibling.id.indexOf("new", 0) == -1) {
rowParent.removeChild(rowSibling);
rowParent.insertBefore(rowSibling, row);
rowSibling = row.nextSibling;
}
}
break;
}
}
}
}
}
catch (err) {
throw new Error("Error moving row:" + err.description);
}
我真的不明白你的問題。請添加您想要實現的內容/您已擁有的內容的示例。 –
我所擁有的是一個數據網格。如果選擇一行並按下向上或向下按鈕,則可以一次向上或向下移動一行。我想添加Move To Top和Move To Bottom按鈕,將該行移動到網格頂部或底部。目前上面的代碼將會一次向上或向下移動一行。 – cjohnson2136