Search code examples
javascriptprototypejs

Prototype.js: reset setStyle


Is there's any way how to reset styles back to what's in my CSS?

Example:

#foo {width: 50px; height: 50px; position: absolute; top: 150px; left: 250px;}


function moveFoo(newpostop, newposleft){
  $('foo').setStyle({top: newpostop+'px', left: newposleft+'px'});
}

Now when I'm done with it, I'd like to move foo back when it was. I know it can be hard-coded, but I need to do this with 25 different divs.

Thanks


Solution

  • Setting style doesn't eliminate all the elements in the CSS class. It only overrides the ones that were changed. The actual style of the control is a combination of the CSS style and the custom style on the style attribute. To revert back to the CSS style completely, simply remove the style attribute.

    $('#foo').removeAttr('style');
    

    EDIT:

    Apparently the above does not work. I've been advised in the comments that the following, however, does:

    $('#foo').writeAttr('style', '');