-1

これは簡単に聞こえますが、うまくいかないようです。

ユーザーがリストの上にカーソルを置いたときにのみ、リストにスクロール効果を持たせようとしています。

リストの上にカーソルを置いても、クラスは変化せず、スクロール バーも表示されません。

次のcssクラスとスクリプトがあります

CSS

    .business_update_old{font-size:11px;max-height:300px}
    .no_scroll{overflow:hidden}
    .scroll{overflow:auto}

脚本

    $('.business_update_old').hover(function(){
       $(this).removeClass("no_scroll");    
       $(this).addClass("scroll");
    });

PHP

    :
    :
    echo '<div class="business_update_old no_scroll">';
    echo '<ul class="business_updates_new"></ul>';
    :
    foreach(...

誰かがここで助けを提供できれば幸いです。ありがとう。感謝

4

2 に答える 2

1

非常に簡単です:

$('.business_update_old').hover(
    function(){
        $(this).removeClass('no_scroll').addClass('scroll');
    }, function() {
        $(this).removeClass('scroll').addClass('no_scroll');
    }
);​

疑問がある場合は、ドキュメントを確認してください

乾杯

于 2012-05-15T18:59:24.897 に答える
1

このフィドルは、それが機能していることを示しています。

まず、フィドルにあるように、300px の高い div を満たすのに十分なコンテンツがあることを確認する必要があります。

また、スクロールバーがくっつかないようにするには、このjQueryを使用する必要があります

$('.business_update_old').hover(
function() {
    $this = $(this);
    $this.removeClass("no_scroll")
    $this.addClass("scroll")
}, function() {
    $this.removeClass("scroll")
    $this.addClass("no_scroll");
});​

または、CSS を使用してこれを行うこともでき、jQuery は完全に不要になります。

このようにCSSを設定すると

.business_update_old {
    font-size:11px;
    max-height:300px;
    overflow: hidden;
}
.business_update_old:hover {
    overflow:auto;
}

その後、それも機能します。このフィドルを参照してください。

于 2012-05-15T13:40:24.833 に答える