Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Resizable Div

  1. #1

    Resizable Div

    Ciao Ragazzi,
    Mi serve il vostro aiuto.
    Ho utilizzato questo script inserito all'interno di una estenzione di Dreamweaver che genera un layer ridimensionabile il nome è
    "Resizable Div " il problema che agendo sulla barra di scorrimento rimane collegata al mouse e allo spostarsi del mouse si modifica anche il layer, ho già utilizzato questo script in precedenza ma tutto funzionava i div rimanevano bloccati è si agiva solo sulla barra di scorrimento. qualcuno può aiutarmi ?


    Questo il js


    codice:
    var theobject = null; 	//This gets a value as soon as a resize start
    
    function resizeObject() {
    	this.el    = null; //pointer to the object
    	this.dir   = "";      //type of current resize (n, s, e, w, ne, nw, se, sw)
    	this.grabx = null;     //Some useful values
    	this.graby = null;
    	this.width = null;
    	this.height = null;
    	this.left = null;
    	this.top = null;
    }
    	
    
    //Find out what kind of resize! Return a string inlcluding the directions
    function getDirection(el) {
    	var xPos, yPos, offset, dir;
    	dir = "";
    
    	xPos = window.event.offsetX;
    	yPos = window.event.offsetY;
    
    	
    	offset = 8; //The distance from the edge in pixels
    
    	if (yPos<offset) dir += "n";
    	else if (yPos > el.offsetHeight-offset) dir += "s";
    	if (xPos<offset) dir += "w";
    	else if (xPos > el.offsetWidth-offset) dir += "e";
    
    	return dir;
    }
    
    function doDown() {
    	var el = getReal(event.srcElement, "className", "resizeMe");
    
    	if (el == null) {
    		theobject = null;
    		return;
    	}		
    
    	dir = getDirection(el);
    	if (dir == "") return;
    
    	theobject = new resizeObject();
    		
    	theobject.el = el;
    	theobject.dir = dir;
    
    	theobject.grabx = window.event.clientX;
    	theobject.graby = window.event.clientY;
    	theobject.width = el.offsetWidth;
    	theobject.height = el.offsetHeight;
    	theobject.left = el.offsetLeft;
    	theobject.top = el.offsetTop;
    
    	window.event.returnValue = false;
    	window.event.cancelBubble = true;
    }
    
    function doUp() {
    	if (theobject != null) {
    		theobject = null;
    	}
    }
    
    function doMove() {
    	var el, xPos, yPos, str, xMin, yMin;
    	xMin = 8; //The smallest width possible
    	yMin = 8; //             height
    
    	el = getReal(event.srcElement, "className", "resizeMe");
    
    	if (el.className == "resizeMe") {
    		str = getDirection(el);
    	//Fix the cursor	
    		if (str == "") str = "default";
    		else str += "-resize";
    		el.style.cursor = str;
    	}
    	
    //Dragging starts here
    	if(theobject != null) {
    		if (dir.indexOf("e") != -1)
    			theobject.el.style.width = Math.max(xMin, theobject.width + window.event.clientX - theobject.grabx);
    	
    		if (dir.indexOf("s") != -1)
    			theobject.el.style.height = Math.max(yMin, theobject.height + window.event.clientY - theobject.graby);		
    
    		if (dir.indexOf("w") != -1) {
    			theobject.el.style.left = Math.min(theobject.left + window.event.clientX - theobject.grabx, theobject.left + theobject.width - xMin);
    			theobject.el.style.width = Math.max(xMin, theobject.width - window.event.clientX + theobject.grabx);
    		}
    		if (dir.indexOf("n") != -1) {
    			theobject.el.style.top = Math.min(theobject.top + window.event.clientY - theobject.graby, theobject.top + theobject.height - yMin);
    			theobject.el.style.height = Math.max(yMin, theobject.height - window.event.clientY + theobject.graby);
    		}
    		
    		window.event.returnValue = false;
    		window.event.cancelBubble = true;
    	} 
    }
    
    
    function getReal(el, type, value) {
    	temp = el;
    	while ((temp != null) && (temp.tagName != "BODY")) {
    		if (eval("temp." + type) == value) {
    			el = temp;
    			return el;
    		}
    		temp = temp.parentElement;
    	}
    	return el;
    }
    
    document.onmousedown = doDown;
    document.onmouseup   = doUp;
    document.onmousemove = doMove;

    10ks
















    .

  2. #2
    UP

    Mi sono spiegato male, o nessuno sà aiutarmi ?











    .

  3. #3
    UP

  4. #4
    NN capisco ?!

    Nessuno a le palle x risolvere il problema ??

    Forse nn mi sono spiegato bene.


    Questo layer è veramente utile, xchè mi da la possibilità di far comparire una barra di scroll quando il testo in esso contenuto supera le dimensioni in altezza dello stesso. Il problema ( che non mi è mai successo ) quando si aziona lo scroll si perdono le impostazionii del layer e questo impazzisce ridimensionandosi a suo piacimento.


    Spero ci sia qualcuno bravo con js x spiegarmi coosa stà succedendo..



    Grazie







    .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.