当doc准备就绪时,我正在用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();
});
有没有办法在不咨询我的样式表并查找每个值的情况下执行此操作,将每个值设置回原来的样式?
答案 0 :(得分:1)
而不是在jquery中指定宽度/高度,使用css类,通过添加一个类来做,否则删除该类,它将恢复正常
$("#myelement").addClass("structure450");
然后在其他地方你可以做
//when you remove the class it will return to normal width and height
$("#myelement").removeClass("structure450");
或者你可以在其他地方将宽度和高度设置为“自动”。
在阅读评论后,你也可以这样做。
//read the html in a variable
var orignalHTML = $("#parentDiv").html();
//in else use this html
else {
$("#parentDiv").html(orignalHTML);
}
答案 1 :(得分:1)
您可以将元素设置回自动:
$('#theElement').css('height', 'auto');