Click to See Complete Forum and Search --> : Interesting question - AOL website


Creamy pie
July 17th, 2002, 07:49 AM
If you have an AOL account and logon to myAOL, you see the page is made of several frame windows. You can drag and drop each induvidual frame. Apparantly, it looks like they are using a control in each of those frames, when you place the cursor over the control, you get a tooltiptext.

Anyone has any idea how they did that? Also you can refresh a frame window without refreshing the whole page.

:confused:

websmith99
October 14th, 2002, 06:26 PM
Looks like they have disabled the "view source" for IE browsers. And for Netscape 6, they do not have the drag and drop. However, with a little effort, I found their code. Take a look at it at:

http://my.aol.com/core/js/dhtml15.js

(you will probably have to log in first)

It is basically DHTML drag and drop - very advanced.

Waldo2k2
October 14th, 2002, 06:58 PM
here's some example code for drag and drop out of my book, the example's kind of different, since it's text, you must highlight the word, then drag it to the blank until the + sign appears and then release the mouse button, it's much smoother with divs, but i don't have an example for that offhand....

<HTML>
<HEAD>
<TITLE>Dragging Event Handlers</TITLE>
<STYLE TYPE="text/css">
TD {text-align:center}
TH {text-decoration:underline}
.blanks {text-decoration:underline}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
var timer
function setupDrag() {
if (event.srcElement.tagName != "TD") {
// don’t allow dragging for any other elements
event.returnValue = false
} else {
// setup array of data to be passed to drop target
var passedData = [event.srcElement.innerText,
event.srcElement.className]
// store it as a string
event.dataTransfer.setData("Text", passedData.join(":"))
event.dataTransfer.effectAllowed = "copy"
timer = new Date()
}
}
function timeIt() {
if (event.srcElement.tagName == "TD" && timer) {
if ((new Date()) - timer > 2000) {
alert("Sorry, time is up. Try again.")
timer = 0
}
}
}
function handleDrop() {
var elem = event.srcElement
var passedData = event.dataTransfer.getData("Text")
var errMsg = ""
if (passedData) {
// reconvert passed string to an array
passedData = passedData.split(":")
if (elem.id == "blank1") {
if (passedData[1] == "noun") {
event.dataTransfer.dropEffect = "copy"
event.srcElement.innerText = passedData[0]
} else {
errMsg = "You can’t put an adjective into the noun placeholder."
}
} else if (elem.id == "blank2") {
if (passedData[1] == "adjective") {
event.dataTransfer.dropEffect = "copy"
event.srcElement.innerText = passedData[0]
} else {
errMsg = "You can’t put a noun into the adjective placeholder."
}
}
if (errMsg) {
alert(errMsg)
}
}
}
function cancelDefault() {
if (event.srcElement.id.indexOf("blank") == 0) {
event.dataTransfer.dropEffect = "copy"
event.returnValue = false
}
}
</SCRIPT>
</HEAD>
<BODY onDragStart="setupDrag()" onDrag="timeIt()">
<H1>Dragging Event Handlers</H1>
<HR>
<P>Your goal is to drag one noun and one
adjective from the following table into the blanks
of the sentence. Select a word from the table and
drag it to the desired blank. When you release the
mouse, the word will appear in the blank. You have
two seconds to complete each blank.</P>
<TABLE CELLPADDING=5>
<TR><TH>Nouns</TH><TH>Adjectives</TH></TR>
<TR><TD class="noun">truck</TD><TD class="adjective">round</TD></TR>
<TR><TD class="noun">doll</TD><TD class="adjective">red</TD></TR>
<TR><TD class="noun">ball</TD><TD class="adjective">pretty</TD></TR>
</TABLE>
<P ID="myP" onDragEnter="cancelDefault()" onDragOver="cancelDefault()"
onDrop="handleDrop()">
Pat said, "Oh my, the <SPAN ID="blank1" CLASS="blanks">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>
is so <SPAN ID="blank2" CLASS="blanks">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</SPAN>!"</P>
<BUTTON onClick="location.reload()">Reset</BUTTON>
</BODY>
</HTML>

sorry about the lack of tabbing, didn't have time, just copied and pasted.

websmith99
October 14th, 2002, 10:06 PM
For an example that uses <div>s just look at AOL's code

http://my.aol.com/core/js/dhtml15.js

Now I'm curious how they were able to disable "view source" from IE browsers. You could still right-click and select "view source", but nothing happened. Same as when you chose it from the menu bar. Any ideas?

I did find this:
http://copyseal.com.au/common/content.asp?PAGE=195