2

関数を使用してロードされた div に css を動的に適用する際に問題が発生していload()ます。読み込まれている html が見つかり、挿入され、閉じるコマンドを使用できます。ただし、適用しようとしているcssは登録されていません。動的CSSを除いて、すべてが正常に機能しているようです。ここで何か間違っているか、間違った機能を持っている可能性があると思います:

Jクエリ:

$(document).ready(function() {
    //Find & Open
    $(".projectThumb").click(function(){
        htmlName = $(this).find("img").attr("name");
        $("#popupContainer").load(htmlName + ".html");
        });

    //Apply CSS
    $(".projectPopup").css({"position": "absolute", "background": "#000", "top": "10%", "left": "10px"});

    //Close property
    $("a.close").live("click", function(){
        $("#popupContainer").empty();
        });
});

test.php:

<div id="content">
    <div class="projectThumb">
      <img src="/img/aeffect_button_static.gif" name="aeffect" />
      <p class="title">title</p>
    </div>
</div>
<div id="popupContainer"></div>

aeffect.html:

<div class="projectPopup" id="aeffect">
  <a class="close">Close &times;</a>
  <p class="description">Description</p>
</div>
4

2 に答える 2

3

間違ったタイミングで CSS プロパティを設定しています。ロードが完了したら、load() メソッドのコールバック関数を使用して CSS プロパティを適用する必要があります。

 $("#popupContainer").load(htmlName + ".html", {}, function(){
     $(".projectPopup").css({"position": "absolute", "background": "#000", "top": "10%", "left": "10px"});
 });
于 2009-09-10T23:40:17.113 に答える
2

CSS の適用を .load() のコールバックに入れます。

$(document).ready(function() {
    //Find & Open
    $(".projectThumb").click(function(){
        htmlName = $(this).find("img").attr("name");   
        $("#popupContainer").load(htmlName + ".html", null, function(){
            //Apply CSS
            $("projectPopup").css({"position": "absolute", "background": "#000", "top": "10%", "left": "10px"});

        });




    //Close property
    $("a.close").live("click", function(){
        $("#popupContainer").empty();
        });
});
于 2009-09-10T23:41:06.333 に答える