2012-12-11 15 views
-1

我正在寻找一种方法来根据SharePoint列表的右列是否包含内容来动态更改css。如何根据是否存在右列来更改页面的css

目前,如果列空,它将优雅隐藏,并且左列将展开以填充。如果右栏是空的,我有一个Web部件需要扩展才能填充页面。

这将是很高兴有两批的CSS。如果右栏有内容,则定义Web部件的大小,如果没有,则定义一个。我研究了使webpart动态化,但它是一个图片幻灯片,带有用于控件和顶部文本的浮动元素,并且不会优雅地展开,无需css调整即可将浮动元素重新对齐。

如果你知道任何教程或例子,这将是伟大的。

谢谢!

+0

右列没有显示时是否有特定条件?例如当屏幕是一定的宽度时(如果可以的话可以使用媒体查询) – Sean

+0

或者如果没有,也许你可以通过页面后面的代码中的if语句添加类作为样式钩子 – Sean

+0

如果没有内容,则右栏不显示在里面。 – reub77

回答

0

这为我做:

jQuery.fn.exists = function(){return this.length>0;} 
    if ($('.pageRightColumn table').exists()) {  
     $('div#innerfade-holder').addClass('innerfadeholder_RC'); 
     $('#portfolio IMG').addClass('portfolioIMG_RC'); 
     $('#portfolio div.description').addClass('description_RC'); 
     $('#portfolio div.transbox').addClass('transbox_RC'); 
     $('table#controlBarContainer').addClass('controlBarContainer_RC'); 
    } else { 
     $('div#innerfade-holder').addClass('innerfadeholder_FULL'); 
     $('#portfolio IMG').addClass('portfolioIMG_FULL'); 
     $('#portfolio div.description').addClass('description_FULL'); 
     $('#portfolio div.transbox').addClass('transbox_FULL'); 
     $('table#controlBarContainer').addClass('controlBarContainer_FULL'); 
    } 

});