3

私は何かスライダーを使用していますが、問題があります。

コンテンツ要素が CMS から読み込まれ、高さが異なる場合があります。スライダーの高さを最も高い要素の高さに設定したいのですが、うまくいかないようです。

私はこのように試しました:

var max_height = 0;
$(".canythingslider .ccontentelement").each(function() {
    var h = $(this).height();
    if(h > max_height) {max_height = h;}
});
$(".canythingslider").css("height", max_height + "px");
$(".canythingslider").anythingSlider();

これを解決する方法を知っている人はいますか?

4

3 に答える 3

2

私は今それを働かせました。AnythingSlider の resizeContents オプションを false に設定する必要があります。その後、上記のスクリプトで目的の処理が実行されます。

于 2013-06-20T07:56:15.617 に答える
1

私は同じ問題を抱えていました (CMS は TYPO3 です。ext. gridelements でスラ​​イダーを作成しようとしています)。私にとって、この解決策はよりうまく機能します:

var max_height = 0;
$(".anythingslider .contentelement").each(function() {
    var h = $(this).height();
    if(h > max_height) {max_height = h;}
});
$(".anythingslider-outer").css("height", max_height + "px");
$(".anythingslider").anythingSlider(
    'expand': true
);

私がしたことは次のとおりです。

<div class="anythingslider-outer">
    <ul class="anythingslider">...</ul>
</div>

この外側のコンテナは高さを取得し、幅も柔軟になりました。Anythingslider は、このコンテナーのサイズに引き伸ばされます (expand=true を使用)。

さらに良いのは、この JavaScript ソリューションです。これは、1 つのページで複数のスライダーを処理します (1 つのスライダーだけではありません)。

$("ul.anythingslider").each(function(){
    var anythingsliderContainer = $(this).closest(".anythingslider-outer");
    anythingsliderContainer.css("height", 0);
    anythingsliderContainer.find("ul.anythingslider > li").each(function(){
        if($(this).height() > anythingsliderContainer.height()){
            anythingsliderContainer.css("height", $(this).height());
        }
    });
});

$('ul.anythingslider').anythingSlider({
    'expand': true
});
于 2013-07-20T11:41:27.047 に答える
0

こんにちは、これが役に立ったら教えてください。

`function heightLeveler(group){

    var tallest = 0;

    group.each(function () {
        thisHeight = $(this).height();
        if (thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}

heightLeveler(".canythingslider");

于 2013-02-16T15:46:40.943 に答える