> main=this.document.all['maindiv']                // This is IE only
> main=this.document.getAll()['maindiv']        // This is DynAPI syntax

Assuming that 'this' is the DynAPI object, both of these should work
in all browsers.  the .all is just a pointer to the DynObject array.
I believe the getAll will assure that it is a valid reference since
the dynobject array may contain some junk references or references in
another frame.

-- 
Robert Rainwater


On 6/6/2001, 4:29:15 AM EST, Jordi wrote about "[Dynapi-Help] external layers and 
inline onmouseovers":

> Ok, here I go rescuing :)

> main=this.document.all['maindiv']                // This is IE only
> main=this.document.getAll()['maindiv']        // This is DynAPI syntax


> DynAPI.document.addChild(main);            // By doing this, you are adding to a 
>document a layer that's already there. This will cause the original to be deleted.
>                                                                  // If you wanted to 
>add the layer to the array of children, you don't need to. It's already there.


> And most important, in NS relative DIVs do not exist as layers and thus can't be 
>accessed by the inline extension, unless you specifically set its style property
> to relative. I know it sound pretty stupid, as relative is the default value, but it 
>is the way it is:

> <div id="maindiv" style="position:relative">

> Must have posted this one a hundred times :)

> Cya.


> xmypoe wrote:

>> hello. okay, i give up :) stuck up into code and cannot figure out
>> what's what and where's where.
>> any ideas ?
>>
>> here is the listing:
>>
>> <!-- start of listing -->
>>
>> <html>
>> <head>
>> <title>dynapi 2 layers/images</title>
>> <script language="Javascript" src="j/dynapi.js"></script>
>> <script language="Javascript">
>> DynAPI.setLibraryPath('j/lib/')
>> DynAPI.include('dynapi.api.*')
>> DynAPI.include('dynapi.event.*')
>> DynAPI.include('dynapi.ext.inline.js')
>> DynAPI.include('dynapi.gui.loadpanel.js');
>> DynAPI.include('dynapi.gui.dynimage.js');
>> </script>
>> <script language="Javascript">
>>
>> DynAPI.onLoad=function()
>>       {
>>
>>        m1 = DynImage.getImage('i/m-bar.gif');
>>            m1_ = DynImage.getImage('i/m-bar_.gif');
>>
>>            var layerone = this.document.getAll()['layerone']
>>            layerone.setVisible(false)
>>            var layertwo = this.document.getAll()['layertwo']
>>            layertwo.setVisible(false)
>>
>>        layerthree=new LoadPanel();
>>        layerthree.setHTML("no file");
>>        layerthree.setSize(77,200)
>>        layerthree.setBgColor('green');
>>        layerthree.moveTo(311,18);
>>        layerthree.setVisible(true)
>>
>>        main=this.document.all['maindiv']
>>
>>        DynAPI.document.addChild(layerthree);
>>        DynAPI.document.addChild(main);
>>       }
>>
>> function setone()
>>          {
>>           DynAPI.document.all['layerone'].setVisible(true)
>>           DynAPI.document.all['layertwo'].setVisible(false)
>>          }
>>
>> function settwo()
>>          {
>>           DynAPI.document.all['layerone'].setVisible(false)
>>           DynAPI.document.all['layertwo'].setVisible(true)
>>          }
>>
>> function loadthree()
>>          {
>>           layerthree.setURL('external.html')
>>          }
>>
>> </script>
>> </head>
>>
>> <body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" 
>marginheight="0">
>> <div id="layerone" style="position:absolute; left:7px; top:226px; width:129px; 
>height:181px; z-index:1; background: #006699; layer-background-color: #006699"><a 
>href="javascript:alert('clicked')"
>> onmouseover="layerone.doc.images['imaaj2'].src='i/m-bar_.gif'" 
>onmouseout="layerone.doc.images['imaaj2'].src='i/m-bar.gif'"><img src="i/m-bar.gif" 
>border=0 name=imaaj2></a></div>
>> <div id="layertwo" style="position:absolute; left:155px; top:227px; width:129px; 
>height:181px; z-index:2; background: #CC0099; layer-background-color: #CC0099"></div>
>> <div id="maindiv">
>> <table width="300" border="0" cellspacing="0" cellpadding="0" height="200" 
>name="table1">
>>   <tr>
>>     <td bgcolor="#FFFF99" align="center" valign="middle">
>>       <a href="javascript:setone()">one</a><br>
>>       <a href="javascript:settwo()">two</a><br>
>>       <a href="javascript:loadthree()">three</a><br><br>
>>       <a href="javascript:alert('clicked')" 
>onmouseover="main.doc.images['imaaj1'].src='i/m-bar_.gif'" 
>onmouseout="main.doc.images['imaaj1'].src='i/m-bar.gif'"><img src="i/m-bar.gif" 
>border=0
>> name=imaaj1></a></td>
>>   </tr>
>> </table>
>> </div>
>> </body>
>> </html>
>>
>> <!-- end of listing -->
>>
>> the 'i/something' images are just normal/highlighted pair o'images.
>> the code layout is just as i want - two inline layers and the third
>> one which is external. images are INLINE (that's my aim, actually).
>>
>> 1) the code for loading/switching layers works perfectly - everything
>> is allright
>> 2) the code for image swapping... help me out here, please.
>> a) the code for main is okay in MSIE (mine is 5), but it errors-out in
>> netscape 4.7
>> b) the code inside the layerone errors-out in both browsers. any ideas
>> ?
>>
>> non-inline images are NOT the option for me. event handlers are NOT
>> the options for me - i want to keep the code small and clean - on my
>> page i gonna have TONS of images, so you can imagine the resulting
>> filesize and, more importantly, its readability :)
>>
>> any better ideas ? any corrections ?
>>
>> peace,
>> x.
>>
>> http://xmypoe.com
>>
>> _______________________________________________
>> Dynapi-Help mailing list
>> [EMAIL PROTECTED]
>> http://lists.sourceforge.net/lists/listinfo/dynapi-help


> _______________________________________________
> Dynapi-Help mailing list
> [EMAIL PROTECTED]
> http://lists.sourceforge.net/lists/listinfo/dynapi-help


_______________________________________________
Dynapi-Help mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/dynapi-help

Reply via email to