2011-01-29 72 views
2

我正在使用prototype carousel。我正在嘗試使用動態生成的元素數量來實現,因此內部div的數量會有所不同。現在腳本似乎要求將寬度固定並編碼到腳本中。根據從foreach循環生成的動態數字或元素計算寬度

內的內容與foreach循環是這樣產生的:

<div class="carousel" id="example-2"> 
<a href="javascript:" class="carousel-control next" rel="next">&rsaquo;</a> 
<a href="javascript:" class="carousel-control prev" rel="prev">&lsaquo;</a> 
    <div class="middle"> 
    <!-- how can this inner width be dynamically populated ? --> 
     <div class="inner" style="width: 3000px"> 
     <?php foreach ($_productCollection as $_product): ?> 
     <?php if($_product->isSaleable()): ?> 
     <img class="<?php echo $_product->getId() ?>" src="<?php echo Mage::helper('catalog/image')->init($_product, 'small_image')->resize(100, 75); ?>" alt="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" title="<?php echo $this->htmlEscape($this->getImageLabel($_product, 'small_image')) ?>" /> 
     <?php endif; ?> 
     <?php endforeach ?> 
     </div> 
    </div> 

    <script type="text/javascript"> 
    new Carousel($('example-2').down('.middle'), $('example-2').down('.inner').select('img'), $('example-2').select('a'), { 
           duration: 0.5, 
           transition: 'sinoidal', 
           visibleSlides: 6, 
           circular: true 
          }); 
         </script> 
       </div> 

我怎麼會得到從在foreach循環產生的$ _產品申報單數的總數?假設有10個,然後我將它乘以img的固定寬度,例如50px,然後我可以用500px填充.inner寬度。

回答

1

計算一個項目(包括其填充)將在顯示區域中佔用多少空間[像素]。將其與您在任何給定時間顯示的項目數量相乘,這將爲您提供顯示區域的流體寬度。

看這個Pagination example for the Carousel by Yahoo

要特別注意一個numItems下面CSS摘錄,讓您的流動性:


/* Always be sure to give your carousel items a width and a height */ 
    .yui-carousel-element li { 
     height: 75px; 
     width: 75px; 
    } 
+1

我最近建立了一個,但直到它,我不能展示給公衆生活。但我可以幫助您查明問題和錯誤,因此您不必自行調試。我寫的是一個帶有拖放界面的多瀏覽器ajax饋送傳送帶:P它非常整潔。 – DoctorLouie 2011-01-29 02:11:24