Thanks, Dan, I was also thinking Laura might benefit from a move to
jquery (or another JS library). You really went the extra mile by
translating her code. Also, I didn't know about
http://code.google.com/apis/ajaxlibs/ -- that's a great resource.
Gabriel
On Thu, Nov 05, 2009 at 09:23:38AM -0500, Dan BrubakerHorst wrote:
> Laura,
>
> I don't have a solution for the problem at hand but I would like to suggest an alternate course of development.
>
> When JavaScript is used to manipulate the DOM tree or add behaviours to a webpage it is almost always better to use a cross-browser library then to code it by hand.
> The problems you are encountering between IE and Firefox are only amplified when a broader selection of browser and browser versions are taken into consideration.
> Relying on a third party to do browser compatiblity and performance optomiztions frees up your time as a developer to focus on implementing the desired behaviour.
> There are many options out there -- Prototype, Dojo, MooTools, etc. -- but jQuery is my library of choice.
>
> I took the liberty of rewriting the webpage in question to create the behaviour you desired with a few lines of jQuery.
> http://gist.github.com/227059
> I commented the code thoroughly so you or anyone else new to jQuery should be able to follow what's going on and why.
>
> For further reading on the nature and use of jQuery see:
> http://docs.jquery.com/
> http://api.jquery.com/
>
> best of luck,
> -dan
> ----------
> Dan Brubaker Horst
> Project / Application Developer - Hesburgh Library of Notre Dame
> ________________________________________
> From: Code for Libraries [[log in to unmask]] On Behalf Of Laura Harris [[log in to unmask]]
> Sent: Tuesday, November 03, 2009 1:37 PM
> To: [log in to unmask]
> Subject: [CODE4LIB] Javascript question - works in FF, but not in IE
>
> Hello, new subscriber here...I'm trying to fix some javascript. It works as expected in Firefox, but not in Internet Explorer. FWIW, am using FF 3.0.14 and IE 7.0.6.
>
> The code is up on pastebin here: http://pastebin.com/m20949cd1
>
> I'm aware that setAttribute & getAttribute are buggy in Internet Explorer, so (in an alternate version of the code) I replaced the toggle bit in function createToggleFunction with the following:
>
>
> if (toggleElement.className == 'collapsibleClosed') {
> toggleElement.className = 'collapsibleOpen';
> toggleElement.src = OPEN_IMAGE;
> } else {
> toggleElement.className = 'collapsibleClosed';
> toggleElement.src = CLOSED_IMAGE;
> }
>
>
> However, I must assume I did something wrong in the code above, because it doesn't work in Firefox.
>
> Any thoughts? Let me know if I need to provide more information.
>
> Thanks,
>
> Laura Harris
> Web Services Librarian
> Grand Valley State University
> Allendale, MI 49401
>
|