RE: More Javascript

Home

More Javascript

Nov17

Pictures

Found the source of my problem with internet explorer, it's with

var c = obj.getAttribute('class');
need to replace it with
var c = getAttribute(obj,'class');
function getAttribute( elm, aname ) {
var avalue = elm.getAttribute( aname );
if ( ! avalue ) {
for ( var i = 0; i < elm.attributes.length; i ++ ) {
var taName = elm.attributes[i].name.toLowerCase();
if ( taName == aname ) {
avalue = elm.attributes[i].value;
}
}
}
return avalue;
}

Not sure why internet explorer isn't picking up getAttribute reliably, but it's not. Had to rewrite setAttribute in a similar way too. Oh yeah, very first search result above solves things in a much smarter way...

SO, hopefully, when this page loads a script runs through it checking for posts older than your last visit (currently only logging the last time you posted), and shrinking them down. It pops some admin links into posts too, but you'd only see them if you were logged in. Source code is here, not that it's terribly useful to anyone. Known bugs right now are the multiple + and - links being attached to replies to replies, and I need to check the date of the latest reply to a post, instead of just the date of the message, and I don't really want to shrink a post down if it's the only one on a page. Probably want to leave the first post expanded if they following the rules above shrinks them all down too... It's a laugh though innit...

UPDATE: WOO, my little icons line up nicely now on my popup database selector thing that I use all over the shop... go play popex or join popex or go to add a new event to the Folkestone Gerald calendar to see it slotting neatly into place.

Inspired by this I'm off to do more !

:: Comment / reply

RE: More Javascript

Pictures

I'm not sure (!variable) is the same as (variable!=null) is it?

Also does IE support getAttribute() as expected? You should be testing for the presence of the method if you're using DOM.

if (obj.getAttribute && (otherTests)) { // use DOM method... }
else { // do it the hard way... }

:: 20 Nov :: :: Comment / reply