Dreamweaver

Gathering information about the draggable AP element

When you attach the Drag AP element behavior to an object, Dreamweaver inserts the MM_dragLayer() function into the head section of your document. (The function retains the old naming convention for AP elements [that is, “Layer”] so that layers created in previous versions of Dreamweaver will remain editable.) In addition to registering the AP element as draggable, this function defines three properties for each draggable AP element—MM_LEFTRIGHT, MM_UPDOWN, and MM_SNAPPED—that you can use in your own JavaScript functions to determine the relative horizontal position of the AP element, the relative vertical position of the AP element, and whether the AP element has reached the drop target.

Note: The information provided here is intended for experienced JavaScript programmers only.

For example, the following function displays the value of the MM_UPDOWN property (the current vertical position of the AP element) in a form field called curPosField. (Form fields are useful for displaying continuously updated information because they are dynamic—that is, you can change their contents after the page has finished loading.)

function getPos(layerId){
	var layerRef = document.getElementById(layerId); 
	var curVertPos = layerRef.MM_UPDOWN;
	document.tracking.curPosField.value = curVertPos;
}

Instead of displaying the values of MM_UPDOWN or MM_LEFTRIGHT in a form field, you could use those values in a variety of other ways. For example, you could write a function that displays a message in the form field depending on how close the value is to the drop zone, or you could call another function to show or hide an AP element depending on the value.

It is especially useful to read the MM_SNAPPED property when you have several AP elements on the page, all of which must reach their targets before the visitor can advance to the next page or task. For example, you could write a function to count how many AP elements have an MM_SNAPPED value of true and call it whenever an AP element is dropped. When the snapped count reaches the desired number, you could send the visitor to the next page or display a message of congratulations.