Observera: Om länken som utlöser onMouseOver händelse inte har en undermeny, alla möjliga rader som kan ha skapats under det fortfarande avlägsnas; det är okej. Uttalandet som följer är en stor om-uttalande. Den om en del är för Internet Explorer och annan delen är för andra webbläsare. För Internet Explorer, är hyperlänkar placeras inuti en SPAN element, som går inne i cellen i rad. För andra webbläsare, är hyperlänkar ställas direkt in i cellen utan SPAN elementet. Koden för if-delen liknar koden för else delen. Koden i om annars delen inleds med en if-sats.
Denna inre IF-satsen kontrollerar först om flerdimensionell array elementet i fråga har en matris för en undermeny. Syftet med denna inre om-uttalande är att producera en undermeny, om länken som musen är över, har en. Om villkoret för inre if-satsen är sant, de uttalanden har utförs. Uttalandena fram en ny rad och mata den med länkar vars strängar är i arrayen indikeras av arrayen identifierare i inre om-tillstånd. Den mouseover (ID, arr) funktionen framställer undermenyer. Den har vissa likheter med for-loop uttalande ovan, som skapade hyperlänkar för huvudmenyn.
Eftersom den inre om-uttalande här, tillägger en annan rad, ökar sitt första uttalande maxRowIndx variabeln. Den maxRowIndx variabeln håller reda på det totala antalet rader närvarande, när som helst. Så om en rad läggas, är denna variabel ökas; om en rad tas bort, det minskas. Nästa uttalande förbereder den nya raden ID. Uttalandet efter skapar en ny rad. Uttalandet som följer ger den nya raden dess ID. Nästa uttalande ger den nya raden en bakgrundsfärg. Uttalandet som följer, förbereder SPAN ID. Uttalandet efter infogar en cell i den nya raden.
Nästa uttalande förbereder taggen för SPAN elementet. Kom ihåg, för Internet Explorer, är länkarna matas in i en HTML-SPAN inslag och inte direkt i tabellcell. Nästa uttalande sätter SPAN tag i tabellcellen i den nya raden. Nästa du har en stor för-uttalande som sträcker sig fram till slutet av