【问题标题】:Setting the width of a division dynamically动态设置分区的宽度
【发布时间】:2011-11-26 14:36:35
【问题描述】:

我在 magento 产品页面上有一个 jScrollPane,它正在获取显示为内联列表的选项(参见屏幕截图 - http://awesomescreenshot.com/06dlbao6b)。

是否可以根据内容动态设置分区大小,因为有些产品只有 2 个选项,但有些可能有 27 个。

到目前为止,如果我手动设置分割宽度,我只找到了一种显示超过 4 个选项的方法,这不是一个真正的选项,就好像我只有 3 个不需要显示滚动的产品一样控制。

有问题的部门是product-options-chooser div。

不确定它是否有帮助,但这是来自 \template\catalog\product\view\options\type\select.phtml 的相关代码:

<?php /* @var $this Mage_Catalog_Block_Product_View_Options_Type_Select */ ?>
<?php $_option = $this->getOption() ?>

<script>
jQuery(function()
{
    var pane = jQuery('.product-options-container');
    pane.jScrollPane(
        {
            showArrows: true,
            animateScroll: true
        }
    );
});
</script>
  <div class="product-options-title">
    <dt>
      <label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>>
        <?php if ($_option->getIsRequire()) echo '<em>*</em>' ?>
        <?php echo  $this->htmlEscape($_option->getTitle()) ?></label>
    </dt>
  </div>
<div class="product-options-container">
  <div class="product-options-chooser">
    <dd<?php if ($_option->decoratedIsLast){?> class="options-last"<?php }?>>
      <div class="input-box"> <?php echo $this->getValuesHtml() ?>
        <?php if ($_option->getIsRequire()): ?>
        <?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_RADIO || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_CHECKBOX): ?>
        <span id="options-<?php echo $_option->getId() ?>-container"></span>
        <?php endif; ?>
        <?php endif;?>
      </div>
    </dd>
  </div>
</div>

【问题讨论】:

  • 确定计算内部元素的宽度并相乘
  • 另外,JavaScript(以及因此 jQuery)在客户端工作,这意味着 php(服务器端)脚本是无关紧要的;我们需要查看呈现的 html。

标签: jquery html width dynamic


【解决方案1】:

现在有一个解决方法,可以将宽度设置为特定产品的特定类别

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 1970-01-01
    • 2010-10-15
    • 2022-11-10
    • 2020-10-29
    • 2012-08-21
    • 2022-01-06
    • 2017-08-20
    • 2011-05-08
    相关资源
    最近更新 更多