0

width: 100%; の JQuery イメージ フェーダーがあります。高さ: 自動;

これは素晴らしいです。iPhone でも動作するからです。

JQueryスライダーの後にコンテンツを「フロート」させたいのですが、高さ自動を使用して100%幅の画像で適切な比率を取得しているため、実際には問題があります。

私は試しました: オーバーフロー: 非表示、自動、クリア: 両方; 幅: 次の要素で 100%、また、両方の要素をフローティングしようとしましたが、高さが定義されていないと機能しません。高さを定義すると、機能します..しかし、高さを動的にしたい..

これは CSS で実行できますか、それとも JS を使用する必要がありますか?

ここにサイトがあります: www.magento-design.dk (Joomla で、基盤あり)。そして、基盤のデモ コンテンツを JQuery スライダーの後にフロートさせたいと考えています。

4

1 に答える 1

0

高さを特定の値に設定し、内部のコンテンツが変更されたときに JavaScript を使用して変更することをお勧めします。CSS の高さ auto にはピクセル値が設定されていないため、JavaScript で定義する必要があります。

$(document).read() およびコンテンツ変更呼び出しで呼び出すことができる JavaScript の関数として、高さの変更を設定します。

編集1:

私はあなたが探していることを達成するために次のコードを使用します...

jQuery(document).ready({
    set_img_height();
});

jQuery("#contentDIV").load("data.html", function() {
    set_img_height();
});

function set_img_height() {
    var height = jQuery('#slideshow').height();
    jQuery('.imagefade').css('height', height);
}

もちろん、あなたが探しているものをより具体的に知らずにこれを書くのは少し難しいです. しかし、基本的な考え方は次のとおりです。

  1. スライドショーの高さを取得し、それを「imagefade」クラスのすべての要素の高さにする関数を作成します
  2. 次に、ドキュメント準備完了関数でこの関数を呼び出します (PHP が処理され、HTML が完全にロードされたとき)。
  3. 最後に、コールバック関数を使用して情報をロードして、この関数を再度呼び出します。コンテンツをどのようにロードしているかはわかりませんが、基本的には、ファイル「data.html」を「contentDIV」の id を持つ div にロードしていると仮定しました。その後、定義された set_img_height 関数を呼び出しますその下。

このコードはおそらくコピー アンド ペーストの資料ではありませんが、実際のコードを自分で提供していないことに基づいて、これが私にできる最善のことです。うまくいけば、これは少なくともあなたを正しい方向に向けるでしょう!

于 2012-04-27T19:02:05.417 に答える