0

説明divを正しい幅で表示できるように、画像の幅に変数を設定しています。ただし、jQueryには私のニーズに合ったコールバック関数がないようです。何をすればよいでしょうか?

$(document).ready(function () {
    // declare photo width variable
    var photo_width = 0;
    $('.chImg').click(function () {
        // get img src and chop it up       
        var srcv = $(this).attr('src');
        var sliced = srcv.slice(6);
        // return the base number of the image for correspdonding div
        // corresponding div is "d#"
        var divnum = sliced.substring(0, sliced.length - 4);
        // fade out active description div
        $(".activeDescript").each(function () {
            $(this).removeClass("activeDescript");
            $(this).fadeOut(110);
        });
        // change picture
        $("#chBox").fadeOut(110, function () {
            $("#chBox").html("<center><img src='" + sliced + "'/></center>");
        });
        // vertical align
        $("#chBox").vAlign();
        $('#chBox').waitForImages(function () {
            // wait for images before grabbing img width
            $("#chBox img").each(function () {
                photo_width = $(this).width();
                $(".description").width(photo_width);
                $("#d" + divnum).fadeIn(300);
                // make this descript active
                $("#d" + divnum).addClass("activeDescript");
            });
            $("#chBox").fadeIn(200);
        });
    });

私は主にphoto_width=$(this).width();の周りのコードに関心があります。次のコードが発生した後に実行されることを確認したいので。アイデア?説明divが正しく設定されていないことはわかっています。これは、正しく設定するために2回クリックする必要があるためです。www.graysonearle.com/newtestでエラーを確認し、最初のボックス「Frog Utopia」をクリックして、いくつかのサムネイルをクリックします。

4

0 に答える 0