最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - How to remove or reset CSS style using JS? - Stack Overflow

programmeradmin2浏览0评论

I want either remove or reset a style applied on a particular DOM node using JS.

            node.style.webkitTransitionDuration = '5000ms';
            node.style.webkitTransformOrigin = '200px 200px';
            node.style.webkitTransform = 'rotateZ(25rad)';

I want to reset/set webkitTransform time and again on a fire of an event
Tried like this

        node.style.webkitTransform = 'rotateZ(0rad)';
        node.style.webkitTransform = 'rotateZ(25rad)';

But its not working.

P.S. Can not use any framework.

I want either remove or reset a style applied on a particular DOM node using JS.

            node.style.webkitTransitionDuration = '5000ms';
            node.style.webkitTransformOrigin = '200px 200px';
            node.style.webkitTransform = 'rotateZ(25rad)';

I want to reset/set webkitTransform time and again on a fire of an event
Tried like this

        node.style.webkitTransform = 'rotateZ(0rad)';
        node.style.webkitTransform = 'rotateZ(25rad)';

But its not working.

P.S. Can not use any framework.

Share Improve this question edited Mar 28, 2011 at 17:27 Alexis Abril 6,4696 gold badges35 silver badges54 bronze badges asked Mar 28, 2011 at 17:18 Ashish AgarwalAshish Agarwal 6,28313 gold badges61 silver badges92 bronze badges 6
  • why cant you use a framework? – Naftali Commented Mar 28, 2011 at 17:27
  • @Neal: thats the part of problem statement. But if I want to use a framewrok,then which should I use and how to do in that case? – Ashish Agarwal Commented Mar 28, 2011 at 17:30
  • so can you remove the PS so i can answer with a framework and not get down voted? :-P – Naftali Commented Mar 28, 2011 at 17:32
  • @Neal: I Will not vote your answer down, but how its possible otherway? – Ashish Agarwal Commented Mar 28, 2011 at 17:35
  • @Neal: Pls delete your Answer. It not I wanted, and don't want to vote it down. – Ashish Agarwal Commented Mar 28, 2011 at 17:41
 |  Show 1 more ment

3 Answers 3

Reset to default 2

Here's an example that should fit your needs. It toggles when you click on the document. Note: it of course only works in Webkit-based browsers.

animateNode(document.getElementById("test"), "5000ms", "200px 200px", "rotateZ(25rad)");
var toggle = toggleValue();
function animateNode(node, duration, origin, transform)
{
    node.style['webkitTransitionDuration'] = duration;  
    node.style['webkitTransformOrigin'] = origin;  
    node.style['webkitTransform'] = transform;
}

function toggleValue() {
    var num = 1;
    return function ()
    {
       return ++num;
    };
}

document.onclick = function()
{
    var toggleNum = toggle();
    if(toggleNum % 2 === 0)
    {
        animateNode(document.getElementById("test"), "5000ms", "200px 200px", "rotateZ(0rad)");  
    }else if(toggleNum % 2 === 1)
    {
        animateNode(document.getElementById("test"), "5000ms", "200px 200px", "rotateZ(25rad)"); 
    }
}

http://jsfiddle/GdGw7/3/

If you are looking to remove the rule from the element then this should work:

node.style.webkitTransform = ''; 

You say you don't want to use a framework. but if it is OK (according to your ment) to do so:

You can use jQuery:

so you can do in jQuery:

$('selector').css({
   webkitTransitionDuration = '5000ms',
   webkitTransformOrigin = '200px 200px',
   webkitTransform = 'rotateZ(25rad)'
})

you can clear out the style element with:

$('selector').attr('style','');

add class:

$('selector').addClass('newClass');

remove class:

$('selector').removeClass('rClass');
发布评论

评论列表(0)

  1. 暂无评论