3

jscrollpane に問題があります。Web ページをロードすると、jscrollpane が表示されませんが、ページのリンクの 1 つをクリックしてから戻ると、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 はコンテンツ全体を「見る」わけではありません。コンテンツがまだ完全にロードされておらず、必要ではないと「考える」ためです。別のページから戻ると、コンテンツ全体がロードされ、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 に答える