Vraag reset css-waarden opnieuw


Ik heb...

$("#menu_tl").click(function() {

    $('.page').fadeOut();
    $('.page').animate({
        "width":  "0px", 
        "height": "0px", 
        "top":    "50px", 
        "left":   "50px"
    });

    $('#page1').fadeIn();
    $('#page1').animate({
        "width":  "500px", 
        "height": "400px", 
        "top":    "-350px", 
        "left":   "-450px"
    }, 2000);
});

$("#menu_tr").click(function() {

    $('.page').fadeOut();
    $('.page').animate({
        "width":  "0px", 
        "height": "0px", 
        "top":    "50px", 
        "left":   "50px"
    });

    $('#page2').fadeIn();
    $('#page2').animate({
        "width":  "500px", 
        "height": "400px"
    }, 2000);
});

Maar ik wil zeggen dat wanneer de tweede functie wordt aangeklikt, alle gewijzigde css door de eerste moet worden gereset. Dit betekent dat de volgende regel onjuist is:

$('.page').animate({
    "width":  "0px", 
    "height": "0px", 
    "top":    "50px", 
    "left":   "50px"
});

is fout en moet worden vervangen door een globale reset. Ik hoop dat dit duidelijk genoeg is ...


23
2018-04-30 20:59


oorsprong


antwoorden:


Deze

$('.page').css({"width":"", "height":"", "top": "", "left" : ""});

zou de magie voor je moeten doen.


53
2018-04-30 21:24



Sla de initiƫle CSS-waarden op die u in een variabele wilt wijzigen:

var $page = $('.page'),
    initialCss = {
        width:  $page.css('width'),
        height: $page.css('height'),

        // Could also be .css('top'), .css(left')
        // depends on your initial stylesheet
        top:    $page.position().top + 'px',
        left:   $page.position().left + 'px'
    };

$("#menu_tr").click(function(){

    $page.animate( initialCss, 2000 );

});

3
2018-01-10 08:29