0

次のように、jQueryサイクルインスタンスに複数のhtmlブロックがあります。

<div class="pane" id="...">
 <div class="title">
  <span>...</span>
  <div class="sS">...</div>
 </div>
</div>

.paneサイクルスライドです。各スパンの高さを個別に取得したい(テキストの量が異なるため、小さい画面では2行に折り返されるものもあるため)。

高さを計算したら、この値を親の高さに.title個別に適用します(IDに基づいてペインごとにすべてを手動で計算する必要はありません)。

これまでのところ:

 $(".pane").each(function() {
    var tpheight =  $(this).find("span").outerHeight()
    $(this).find(".title").css({"height" : tpheight + "px"})
})

どの種類の作品(「px」を含めても違いはありません)ですが、最初のスパンは正しい高さとして表示されますが、他のペインの他のすべてのスパンは短すぎます。outerHeightパディングを含める必要があるため、使用しています。これは私が取り組んでいるページです:

http://test.soundvaultstudios.co.uk/services

他の多くの投稿では、最も高い要素の高さを取得し、その値を他のすべての要素に適用することについて説明していますが、すべての値を個別に計算したいと思います。私がこれを行っている理由は、ペインにカーソルを合わせると、タイトルdivがheight:autoの内容を表示するスタイルを取得し.sS、マウスを離すと、タイトルdivの高さがスパンの高さに戻るためです。私はそれが理にかなっていることを願っています、私が何を意味するかを見るためにサイトを見てください。ホバー関数は正しい高さの変更を生成しますが、同じ方法でページをロードしたいと思います。

前もって感謝します。

4

2 に答える 2

0

多分試してみてください...

$(".pane").each(function() {
    var tpheight =  $(this).find("span").outerHeight()
    $(this).find(".title").outerHeight(tpheight);
 })

また、cssを設定している場合は、次のようになります。

 $(this).find(".title").css("height",tpheight)

いいえ......

$(this).find(".title").css({"height" : tpheight + "px"})
于 2013-01-19T01:09:44.593 に答える
0

私はどこが間違っているのかを理解しました。私のeach関数は完全にうまくセットアップされていてcycle、問題となったのは初期化に対する関数の位置でした(それはそれの後に配置されたスクリプトを誤動作させていました)。初期化をブロックの最後に置くcycle(または少なくとも各関数の後で)と、意図したとおりに機能しました。Cycleを使用しているこの質問を誰かが見た場合は、スクリプトの順序に注意してください。Cyclelast!

于 2013-01-30T12:01:13.780 に答える