MoveResizeAbsolute est un code javascript contenant des fonctions génériques destinées à créer des zones de dragage (mouvement) ou de redimensionnement.
Les éléments à bouger ou redimensionner sont définis avec l'attribut position:absolute
MoveResizeAbsolute_AddMoveArea(elementArea, elementsToMove, LeftLimit, TopLimit);
Cet appel permet de définir une zone pour bouger un élément dans la page.
MoveResizeAbsolute_AddResizeArea(elementArea, elementsToResize, MinWidth, MinHeight);
Cet appel permet de définir une zone pour redimensionner un élément dans la page.
Les autres fonctions sont des fonctions subalternes qui renvoient le type de navigateur ainsi que la hauteur et la largeur de l'écran.
obtenir('MoveResizeAbsolute');
addOnloadHook(MoveResizeAbsolute_Test);
function MoveResizeAbsolute_Test(){
// Création d'un cadre
var Menu = document.createElement('div');
Menu.id = "MoveResizeTest"
Menu.style.position = "absolute";
Menu.style.zIndex = 5000;
Menu.style.top = "200px";
Menu.style.left = "5px";
Menu.style.width = "150px";
Menu.style.height = "250px";
Menu.style.border = "3px double black";
Menu.style.backgroundColor = "silver";
document.body.appendChild(Menu);
// Création de la zone de "Move"
var MoveH5 = document.createElement('h5');
MoveH5.style.border = "1px dashed white";
MoveH5.style.backgroundColor = "yellow";
MoveH5.innerHTML = "<center>Move</center>";
Menu.appendChild(MoveH5);
// Création de la zone utilitaire
var MenuBody = document.createElement('div');
Menu.appendChild(MenuBody);
// Remplissage de la zone utilitaire
var Ul = document.createElement('ul');
MenuBody.appendChild(Ul);
for(var a=0;a<10;a++){
var Ligne = document.createElement('li');
Ligne.innerHTML = '=== Test ===';
Ul.appendChild(Ligne);
}
// Création de la zone de "Resize"
var ResizeH5 = document.createElement('h5');
ResizeH5.style.position = "absolute";
ResizeH5.style.bottom = "0px";
ResizeH5.style.right = "0px";
ResizeH5.style.border = "1px dashed white";
ResizeH5.style.backgroundColor = "green";
ResizeH5.innerHTML = "<center>Resize</center>";
Menu.appendChild(ResizeH5);
// Application des fonctions "Move" et "Resize"
var ElementsToMove = new Array(Menu);
var ElementsLeftLimit = new Array("0");
var ElementsTopLimit = new Array("0");
MoveResizeAbsolute_AddMoveArea(MoveH5, ElementsToMove, ElementsLeftLimit, ElementsTopLimit);
var ElementsToResize = new Array(Menu);
var ElementsMinWidth = new Array("50");
var ElementsMinHeight = new Array("50");
MoveResizeAbsolute_AddResizeArea(ResizeH5, ElementsToResize, ElementsMinWidth, ElementsMinHeight);
}