Автоматически отключать манипуляции с элементами jQuery - PullRequest
1 голос
/ 12 сентября 2011

Я манипулирую некоторыми элементами с помощью jquery, когда документ готов и когда размер окна изменяется, проблема в том, что я не хочу указывать, чтобы вернуть все в нормальное состояние, когда условие не применяется.Вот мой код:

function portfoliosingle_width(){
    var window_width = $(window).width();
    if(window_width < 964 ){
        $('#portfolio-single #site-main .structure').width(450);
        $('#portfolio-single #site-header').height(100);
        $('#portfolio-single #site-header .structure').width(450);
        $('#portfolio-single-text').width(425);
        $('#portfolio-single-images').appendTo('.structure article');
        $('#logo').css({'display':'block','width':'450px','float':'none'});

    }else if(window_width > 964 ){
        //want everything to go back the way it was without specifying each
    }

}

$(document).ready(function(){
    portfoliosingle_width();
});

$(window).bind("resize", function(){ 
    portfoliosingle_width(); 
});

Есть ли способ сделать это, не сверяясь с моей таблицей стилей и не просматривая каждое значение, возвращая каждому то значение, которое было изначально?

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Вы можете установить свой элемент обратно на авто:

$('#theElement').css('height', 'auto');
1 голос
/ 12 сентября 2011

вместо указания ширины / высоты в jquery, используйте классы css, добавьте класс и в противном случае удалите этот класс, он вернется к обычному

$("#myelement").addClass("structure450");

, а затем в другом случае вы можете сделать

//when you remove the class it will return to normal width and height
$("#myelement").removeClass("structure450");

или вы можете установить ширину и высоту в значение "auto" в противном случае.

после прочтения вашего комментария вы также можете сделать что-то подобное.

//read the html in a variable
var orignalHTML = $("#parentDiv").html();


//in else use this html

else {
  $("#parentDiv").html(orignalHTML);
}
...