3

我对 jscrollpane 有疑问。当我加载网页时,jscrollpane 不显示,但如果我单击页面的其中一个链接然后返回,jscrollpane 会正常显示。

该网站是 www.noved.info 并且未显示的 jscrollpane 是“casos de exito”部分中的一个。如果您单击其中一个链接然后返回,您将看到 jscrollpane 正常工作。Jscrollpane 已经在上面提到的 div 上工作。

提前致谢。

div 不工作的代码是:

CSS:

.lista_exitos
{
    margin-left:5px;
    width:390px;
    height:400px;
    overflow:auto;
}

的HTML:

<div id="portfolio_container" class="contenedor_inferior" style="margin-left:7px;margin-top:5px;width:400px;height:413px;background-image:url(css-images/fondo_portfolio.png)">
    <div style="height:10px"></div>
    <div class="lista_exitos">
    <?php
    // PHP STUFF FOR GETTING DATA FROM DATABASE
         while ($fila = mysql_fetch_assoc($result))
         {
            echo '<p style="float:left;margin:0px;margin-left:5px;margin-bottom:5px"><a href="portfolio.php?id='.$id.'" alt="'.$nombre.'" style="margin-right:3px">
            <img src="imagenes/portfolio/'.$logo.'" width="180" border="0" align="absmiddle">
            </a></p>';
         }
    ?>
    </div>
</div>
<script type="text/javascript">
    $('.lista_exitos').jScrollPane();
</script>
4

2 回答 2

2

您必须将 jScrollPane 附加到加载事件,否则它会在加载之前尝试将自身应用于内容。jScrollPane 没有“看到”整个内容,因为内容还没有完全加载,并且“认为”它不需要。当您从另一个页面返回时,整个内容都已加载,并且 jScrollPane 会自行应用。

这一切都归结为:

<script type="text/javascript">
$(window).load(function() {
    $('.lista_exitos').jScrollPane();
}); 
</script>

我建议在使用 jScrollPane 时使用 $(window).load 包装器。

希望这可以帮助!

于 2011-06-24T12:20:18.947 回答
0

这对我有用

<div class="lista_exitos">
    <div>  <!--- fake div for counting content height --->
       <p>long text ...</p>
    </div>    
</div>
于 2012-02-14T08:48:50.257 回答