我目前正在开发一个需要ajax来加载内页的网站,但是某些页面组需要更改背景以及更改容器宽度。
无论如何我可以使用条件if语句来更改某些元素的class / css吗?如果是这样我怎么去呢?
抱歉忘了说,有条件的页面网址。
因此,如果url = innerpage.html更改类
这一切都符合时尚:
$('nav li a').click(function(){
var toLoad = $(this).attr('href');
hideView()
$('#ajax-page').hide('fast', loadContent);
$('#load').remove();
$('#container').append('<span id="load">LOADING...</span>');
$('#load').fadeIn('normal');
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function hideView() {
$('#container').find('.view').fadeOut('fast');
}
function loadContent() {
$('#ajax-page').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#ajax-page').show('normal',hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
答案 0 :(得分:0)
您可以使用jQuery .addClass()
和.removeClass()
函数来添加和删除元素中的类。还可以使用jQuery .css('attr','value')
来更改该元素的css。
答案 1 :(得分:0)
如果背景和宽度的数量非常有限,您可以在CSS中准备类并通过Ajax传递所需的类。
如果你有很多变化,并且想做一些预加载/动画,那么你应该通过成功的数据参数从服务器传递所有相关的原始数据(背景,宽度,内容)作为Json对象响应,然后测试它们的相关性,并使用.html()和.attr()来应用/不应用它们。