2012-03-28 60 views
0

我目前正在一个需要ajax加载内部页面的网站,但是某些组页面需要背景更改以及容器宽度更改。ajax条件if语句加载页面

有无论如何我可以使用条件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

是的,但有条件吗?页面的网址? – 2012-03-28 16:53:55

+0

我们可以看到你的代码的例子吗? – Ryan 2012-03-28 16:53:57

+0

我认为你的问题应该更具体。我会说... ...课程你可以使用条件if语句来改变东西 – 2012-03-28 16:54:04

回答

0

您可以使用jQuery .addClass().removeClass()功能从元素添加和删除类。还可以使用jQuery .css('attr','value')来更改该元素上的css。

0

如果背景和宽度的数量非常有限,您可以在CSS中准备类并通过Ajax传递所需的类。

如果你有很多变化,并且想做一些预加载/动画,那么你应该通过数据参数从服务器传递所有相关的原始数据(背景,宽度,内容)作为Json对象成功响应,然后测试它们的相关性,并将其应用/不应用于.html()和.attr()。

+0

更新了问题 – meestormac 2012-03-28 17:37:04