Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    primi esperimenti drag&drop - scriptaculous -

    Il seguente codice funziona piuttosto bene!
    (potete provarlo solo dopo aver scaricato scriptaculous da qui: http://script.aculo.us/downloads )
    Però vorrei sapere come tenere in primo piano gli elementi "LI" durante la fase di trascinamento.
    Il problema è che avendo impostato nel CSS:
    codice:
     #container {
    	height: 200px;
    	width: 500px;
    	border: 1px solid red;
    	overflow-y: auto;
    	overflow-x: hidden;
    }
    gli elementi "LI" rimangono intrappolati in "container". Quindi devo trovare il modo di tirarli fuori da li durante il trascinamento...inoltre durante la fase di trascinamento mi piacerebbe che la barra di scorrimento non cambiasse il proprio valore/lunghezza
    SAPRESTE AIUTARMI? GRAZIE!


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    	<title>TEST DRAG DROP</title>
    	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />	
    	<style type="text/css">
    		#container {
    			height: 200px;
    			width: 500px;
    			border: 1px solid red;
    			overflow-y: auto;
    			overflow-x: hidden;
    		}
    		li {
    			background-color: red;
    			display: inline;
    			padding: 30px;
    			margin: 5px;
    			float:left;
    		}
    		#dropHere {
    			height: 100px;
    			width: 100px;
    			margin-top: 7px;
    			border: 3px solid blue;
    		}
    	</style>
    	<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
    	<script type="text/javascript" src="scriptaculous-js-1.8.3/src/scriptaculous.js"></script>
    	<script type="text/javascript">
    	var isDrag = false;
    	function init() {
    		Droppables.add("dropHere", {
    			accept: "draggable",
    			onDrop: function() {
    				alert("OK!!!");
    			}
    		});
    		var ul = new Element("ul");
    		$("container").insert(ul);
    		for(var i = 0; i <= 12; i++) {
    			var li = new Element("li");
    			var id = "id"+i;
    			li.id = id;
    			li.innerHTML = i;
    			li.className = "draggable";
    			li.observe('mouseup', click_senza_drag.bindAsEventListener(this));
    			ul.insert(li);
    			new Draggable(id, {
    				onStart: function(){ isDrag = true; },
    				revert: true
    			});
    		}
    	}
    	function click_senza_drag() {
    		if(!isDrag)
    			alert("hai cliccato senza trascinare!!!");
    		else isDrag = false;
    	}
    	document.observe('dom:loaded', function(){ init(); });
    	</script>
    </head>
    <body>
    	<div id="container"></div>
    	<div id="dropHere">drop here!</div>
    </body>
    </html>

  2. #2
    settando la proprietà
    overflow: hidden
    elimino la barra di scorrimento, quindi elimino la metà dei miei problemi.

    Però mi chiedevo se è possibile lasciare visibile la barra di scorrimento ma rendendola non cliccabile o meglio disabilitata!
    qualcosa di simile a (pseudo-codice):
    overflow: scroll and disabled
    ? ? ?

  3. #3
    probabilmente l'unica soluzione è clonare l'oggetto, quindi utilizzare l'oggetto clonato

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 © 2026 vBulletin Solutions, Inc. All rights reserved.