It works for me in IE8!

Kill IE8, re-open it and try again.

If it still doesn't work, what error are you getting?

regards,

- Kev

Juan Diego wrote:
> I cleaned up a little my code it still doesnt work in IE8
>
> this is the code
> function reemplazarX(){
>       var element = this;
>       //var e2 =element.getOffsetParent();
>       var e2 =element.up().up().up().next();
>       //alert(e2);
>       e2.setStyle({
>               backgroundColor: '#020506',
>               opacity: 1.0,
>               borderLeft:'1px #FFF solid'
>       });
>       e2.innerHTML= element.next().innerHTML;
>
> }
> function borrar(){
>       var element = this;
>       //var e2 =element.getOffsetParent();
>       var e2 =element.up().up().up().next();
>       e2.innerHTML= "";
>       e2.setStyle({
>               backgroundColor: '#000',
>               opacity: 0.0
>       });
> }
>
> On Sep 21, 3:59 am, Juan Diego <juandieg...@gmail.com> wrote:
>   
>> I dont want the LI elements.  Here is how it is setup,
>>
>> <div class="lista_izq">
>> <ul>
>>     <li><div class="text">text1</div>
>>           <div class="hidden_text">hidden1</div>
>>     </li>
>>    <li><div class="text">text2</div>
>>           <div class="hidden_text">hidden2</div>
>>     </li>
>> </ul>
>> </div>
>> <div class="lista_der">&nbsp</div>
>> I want display my message in lista_der.  So that is why i use all
>> those up(), i guess I can use 4 up and one next.
>>
>> On Sep 21, 3:50 am, Kevin Porter <k...@9ballpool.co.uk> wrote:
>>
>>     
>>> First things first - you've got four up()s in a row, which is likely to
>>> return you the document or window object.
>>>       
>>> If you want the LI element you only need one up() from the div.
>>>       
>>> regards,
>>>       
>>> - Kev
>>>       
>>> JuanDiegowrote:
>>>       
>>>> I used up() and didnt work, it is the same error.
>>>> Here is the test page
>>>> http://pts.raidenenergy.com/index.php?option=com_content&view=categor...
>>>>         
>>>> and this is the code.
>>>>         
>>>> function listas(){
>>>>    $$('div.texto').each(function(s) { Event.observe(s, 'mouseover',
>>>> reemplazarX)});
>>>>    $$('div.texto').each(function(s) { Event.observe(s, 'mouseout',
>>>> borrar)});
>>>> };
>>>>         
>>>> function reemplazarX(){
>>>>    var element = this;
>>>>    //var e2 =element.getOffsetParent();
>>>>    var e2 =element.up().up().up().up();
>>>>    //alert(e2);
>>>>    e2.childElements()[2].setStyle({
>>>>            backgroundColor: '#020506',
>>>>            opacity: 1.0,
>>>>            borderLeft:'1px #FFF solid'
>>>>    });
>>>>    e2.childElements()[2].innerHTML= element.next().innerHTML;
>>>>         
>>>> }
>>>> function borrar(){
>>>>    var element = this;
>>>>    //var e2 =element.getOffsetParent();
>>>>    var e2 =element.up().up().up().up();
>>>>    e2.childElements()[2].innerHTML= "";
>>>>    e2.childElements()[2].setStyle({
>>>>            backgroundColor: '#000',
>>>>            opacity: 0.0
>>>>    });
>>>> }
>>>>         
>>>> On Sep 18, 5:27 am, david <david.brill...@gmail.com> wrote:
>>>>         
>>>>> HiJuan,
>>>>>           
>>>>> IE has much trouble with table. So not surprinsing that IE doesn't
>>>>> work as expected.
>>>>>           
>>>>> --
>>>>> david
>>>>>           
>>>>> On 17 sep, 19:10,JuanDiego<juandieg...@gmail.com> wrote:
>>>>>           
>>>>>> Thanks.
>>>>>> One more thing, I am doing this inside a joomla so those divs are
>>>>>> inside a table inside the"content" module of joomla.  When ever I use
>>>>>> alert(e2) I thought i was getting the table, because it said something
>>>>>> about "table element", so for some reason in internet explorer it goes
>>>>>> directly to the body.  That is what it is happening right?  I am going
>>>>>> to try with teh up() function.
>>>>>>             
>>>>>> Ken I am using [2] because there is some text with <p></p> that i
>>>>>> though it wasnt important.  But thanks for noticing.
>>>>>>             
>>>>>> Juan
>>>>>>             
>>>>>> On Sep 17, 6:08 am, david <david.brill...@gmail.com> wrote:
>>>>>>             
>>>>>>> Hi Kev,
>>>>>>>               
>>>>>>> the getOffSetParent() return the "closest positioned ancestor", and if
>>>>>>> not found return the body !
>>>>>>> That's why for some element, parent is not positionned (CSS position
>>>>>>> property) and it return the body element.
>>>>>>>               
>>>>>>> As you say, up() is much more appropriate in this case.
>>>>>>>               
>>>>>>> --
>>>>>>> david
>>>>>>>               
>>>>>>> On 17 sep, 10:38, Kevin Porter <k...@9ballpool.co.uk> wrote:
>>>>>>>               
>>>>>>>> HiJuan,
>>>>>>>>                 
>>>>>>>> For me, I get the error at "e2.childElements()[2].setStyle...".
>>>>>>>> e2 at that point is the body element. Is that what you want?
>>>>>>>> I guess you want the LI element? If so, maybe .up() would be a better
>>>>>>>> choice than .getOffSetParent()?
>>>>>>>> Also, you probably want to use "[1]" instead of "[2]" to reference the
>>>>>>>> second element of the LI. (it's
>>>>>>>> a zero-indexed array).
>>>>>>>>                 
>>>>>>>> regards,
>>>>>>>>                 
>>>>>>>> - Kev
>>>>>>>>                 
>>>>>>>> JuanDiegowrote:
>>>>>>>>                 
>>>>>>>>> Ok, so I cleaned up my code.  I used "each" instead of a For loop, so
>>>>>>>>> now it works in every Browser except IE8. I havent tested it in other
>>>>>>>>> versions of IE. Like 6 o 7.
>>>>>>>>> So here is the code.
>>>>>>>>>                   
>>>>>>>>> function listas(){
>>>>>>>>>    $$('div.texto').each(function(s) { Event.observe(s, 'mouseover',
>>>>>>>>> reemplazarX)});
>>>>>>>>>    $$('div.texto').each(function(s) { Event.observe(s, 'mouseout',
>>>>>>>>> borrar)});
>>>>>>>>> };
>>>>>>>>>                   
>>>>>>>>> function reemplazarX(){
>>>>>>>>>    var element = this;
>>>>>>>>>    var e2 =element.getOffsetParent();
>>>>>>>>>    alert(e2);
>>>>>>>>>    e2.childElements()[2].setStyle({
>>>>>>>>>            backgroundColor: '#020506',
>>>>>>>>>            opacity: 1.0,
>>>>>>>>>            borderLeft:'1px #FFF solid'
>>>>>>>>>    });
>>>>>>>>>    e2.childElements()[2].innerHTML= element.next().innerHTML;
>>>>>>>>>                   
>>>>>>>>> }
>>>>>>>>> function borrar(){
>>>>>>>>>    var element = this;
>>>>>>>>>    var e2 =element.getOffsetParent();
>>>>>>>>>    e2.childElements()[2].innerHTML= "";
>>>>>>>>>    e2.childElements()[2].setStyle({
>>>>>>>>>            backgroundColor: '#000',
>>>>>>>>>            opacity: 0.0
>>>>>>>>>    });
>>>>>>>>> }
>>>>>>>>>                   
>>>>>>>>> I get an error on Line 14.  "The object does not accept this property
>>>>>>>>> or method" So the problem seems to be in this line var e2
>>>>>>>>> =element.getOffsetParent();
>>>>>>>>> With getOffsetParent function.
>>>>>>>>>                   
>>>>>>>>> This code works in opera, konqueror, safari, firefox.
>>>>>>>>>                   
>>>>>>>>> Thanks
>>>>>>>>>                   
>>>>>>>>> On Sep 17, 12:36 am,JuanDiego<juandieg...@gmail.com> wrote:
>>>>>>>>>                   
>>>>>>>>>> By the way i just found out that
>>>>>>>>>> var lista_izq=$$('div.lista_izq')[i].childElements()[0].childElements
>>>>>>>>>> ();
>>>>>>>>>> is the problem in IE explorer. In opera works but in IE8 is a problem
>>>>>>>>>>                     
>>>>>>>>>> On Sep 17, 12:19 am,JuanDiego<juandieg...@gmail.com> wrote:
>>>>>>>>>>                     
>>>>>>>>>>> Hi I havent use javascript and prototype in a while so maybe i am
>>>>>>>>>>> doing something really wrong.
>>>>>>>>>>> So here is what I am trying to do with prototype
>>>>>>>>>>> I have a a few places in my page with a set of to divs divs, 
>>>>>>>>>>> lista_izq
>>>>>>>>>>> and lista_der, with a list inside list_izq
>>>>>>>>>>> <div class="lista_izq">
>>>>>>>>>>> <ul>
>>>>>>>>>>>     <li><div class="text">text1</div>
>>>>>>>>>>>           <div class="hidden_text">hidden1</div>
>>>>>>>>>>>     </li>
>>>>>>>>>>>    <li><div class="text">text2</div>
>>>>>>>>>>>           <div class="hidden_text">hidden2</div>
>>>>>>>>>>>     </li>
>>>>>>>>>>> </ul>
>>>>>>>>>>> </div>
>>>>>>>>>>> <div class="lista_der">&nbsp</div>
>>>>>>>>>>>                       
>>>>>>>>>>> So when ever the mouse is over the text1 or text2. The hidden text
>>>>>>>>>>> appears on the second .
>>>>>>>>>>> I use firefox so I did all the testing there. It worked but when i
>>>>>>>>>>> tested on opera, IE, and konqueror it didnt. It is really anoying
>>>>>>>>>>> tracing bugs in other browsers without firebug.  Anyhow here is my
>>>>>>>>>>> code for each node
>>>>>>>>>>>                       
>>>>>>>>>>>         Event.observe(titulo, 'mouseover', function(e) {
>>>>>>>>>>>                 reemplazarX(e);
>>>>>>>>>>>         });
>>>>>>>>>>>         Event.observe(titulo, 'mouseout', function(e) {
>>>>>>>>>>>                 borrar(e);
>>>>>>>>>>>         });
>>>>>>>>>>>                       
>>>>>>>>>>> and this my functions
>>>>>>>>>>>                       
>>>>>>>>>>> function reemplazarX(e){
>>>>>>>>>>>         alert(e);
>>>>>>>>>>>         alert(e.element);
>>>>>>>>>>>         alert(e.element());
>>>>>>>>>>>         var element = e.element();
>>>>>>>>>>>         alert("s");
>>>>>>>>>>>         var e2 =element.getOffsetParent(element);
>>>>>>>>>>>         alert("t");
>>>>>>>>>>> //e2.childElements()[2].setStyle('backgroundColor', blue);
>>>>>>>>>>>                       
>>>>>>>>>>>         alert(element);
>>>>>>>>>>>         alert("xx");
>>>>>>>>>>>         e2.childElements()[2].setStyle({
>>>>>>>>>>>                 backgroundColor: '#020506',
>>>>>>>>>>>                 opacity: 1.0,
>>>>>>>>>>>                 borderLeft:'1px #FFF solid'
>>>>>>>>>>>         });
>>>>>>>>>>>         e2.childElements()[2].innerHTML= element.next().innerHTML;
>>>>>>>>>>>                       
>>>>>>>>>>> }
>>>>>>>>>>>                       
>>>>>>>>>>> function borrar(e,lista_der){
>>>>>>>>>>>         var element = e.element();
>>>>>>>>>>>         var e2 =element.getOffsetParent(element);
>>>>>>>>>>>         e2.childElements()[2].innerHTML= "";
>>>>>>>>>>>         e2.childElements()[2].setStyle({
>>>>>>>>>>>                 backgroundColor: '#000',
>>>>>>>>>>>                 opacity: 0.0
>>>>>>>>>>>         });
>>>>>>>>>>>                       
>>>>>>>>>>> }
>>>>>>>>>>>                       
>>>>>>>>>>> I did all those "Trace" to narrow down the problem and it comes down
>>>>>>>>>>> to e.element.  In opera it returns undefine with e.element and it 
>>>>>>>>>>> dies
>>>>>>>>>>> when i use e.element(). Like if the function didnt. Exists.
>>>>>>>>>>> I assing each function with to 
>>>>>>>>>>> titulo=lista_izq[j].childElements()[0];
>>>>>>>>>>> with a FOR loop.
>>>>>>>>>>>                       
>>>>>>>> --
>>>>>>>> Kevin Porter
>>>>>>>> Advanced Web Construction 
>>>>>>>> Ltdhttp://webutils.co.ukhttp://billiardsearch.nethttp://9ballpool.co.uk
>>>>>>>>                 
>>>>>>>> AJAX Blackjack - real-time multi-player blackjack game with no flash, 
>>>>>>>> java or software downloads required -http://blackjack.webutils.co.uk
>>>>>>>>                 
>>> --
>>> Kevin Porter
>>> Advanced Web Construction 
>>> Ltdhttp://webutils.co.ukhttp://billiardsearch.nethttp://9ballpool.co.uk
>>>       
>>> AJAX Blackjack - real-time multi-player blackjack game with no flash, java 
>>> or software downloads required -http://blackjack.webutils.co.uk
>>>       
> >
>
>
>
>   


-- 
Kevin Porter
Advanced Web Construction Ltd
http://webutils.co.uk
http://billiardsearch.net
http://9ballpool.co.uk

AJAX Blackjack - real-time multi-player blackjack game with no flash, java or 
software downloads required - http://blackjack.webutils.co.uk



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to 
prototype-scriptaculous+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to