在SharePoint 2010图片库幻灯片Webpart中调整图片大小?

时间:2012-02-13 22:45:09

标签: sharepoint-2010

我正在尝试使用SharePoint 2010实现“开箱即用”的Web部件。

“图片库幻灯片”webpart非常适合我们需要的东西,但是它减少了所选图像的大小,并在它们周围留下了大量的空白。

我一直在网上搜索修复程序,但大多数回复似乎都指向要替换的第三方或自定义jQuery。

我们试图避免这种情况,只是使用已经包含的幻灯片中的代码。

任何建议都将不胜感激!提前谢谢。

1 个答案:

答案 0 :(得分:1)

不幸的是,不支持使用开箱即用的功能配置Web部件,只支持在Picture Library Slideshow Web Part中显示的图像类型(原始,网页或缩略图),但您可以尝试使用自定义幻灯片的渲染以下客户端方法。

下面介绍的解决方案允许通过覆盖幻灯片控件ShowPic功能在图片库幻灯片网页部件中显示原始(全尺寸)图像。

步骤1.在Content Editor网页部件所在的网页上插入Picture Library Slideshow网页部件。

步骤2.将以下JavaScript代码插入Script Editor Web部件:

<script type="text/javascript">


function SlideshowObjectInitializer() {

  ShowPic = (function(ShowPicOrig) {
      return function() {

           var ssObj = arguments[0];  //SlideShow object
           var curPicIdx=ssObj.index; //current picture index

           ShowPicOrig.apply(this, arguments); //call original ShowPic

           //apply some changes to display original picture in SlideShow control
           ssObj.image.src = ssObj.linkArray[curPicIdx]; //display original image instead of web image
           //change picture & container size to auto instead of fixed (by default web image size is used)
             ssObj.image.setAttribute('height','100%'); 
             ssObj.image.setAttribute('width','100%'); 
             var cell = ssObj.cell; 
             cell.style.width = 'auto';
             cell.style.height = 'auto';
             cell.style.display = '';
             var pcell = ssObj.cell.parentNode; 
           pcell.style.width = 'auto';
             pcell.style.height = 'auto';
      };
  })(ShowPic);

}  


ExecuteOrDelayUntilScriptLoaded(SlideshowObjectInitializer, 'imglib.js');
</script>

指定的代码自定义SlideShow控件以显示图片库中的原始(全尺寸)图像。

  

已在SharePoint 2010/2013中进行了测试。

有关自定义幻灯片网页部件的详细信息,请按照this blog post

进行操作