0

私のウェブサイトで「友達に教える」アプリケーション用のカスタム jquery popupbox を作成しました。jQuery ロード関数を使用して、モジュール フォルダーから php ファイルをインクルードし、ポップアップ ボックスに表示します。CSS は正常に動作しますが、Javascript をバインドすると、まったく動作しません。

以下のコードは、「モジュールフォルダーからフォームを友達に教える」をポップアップします

/* Popup for Email to a friend*/
    $("#emailtoafriend").click(function (){
        $("#overlay").removeClass("overlayHide");
        $("#overlay").addClass("overlayShow");
        $("#overlay").fadeIn("slow");
        $("#popup").load('modules/mod_tellafriend/default.php');
            return false;
    });

以下のコードは、ユーザーが [閉じる] ボタンをクリックすると起動します。これは機能しません

$(".btnClose").click(function (){
    alert("Works");
    $("#overlay").fadeOut("slow");
    $("#overlay").removeClass("overlayShow");
    $("#overlay").addClass("overlayHide");
        return false;
});

以下は、この popupbox で使用している CSS です。

.overlay{
    width: 100%;
    height: 100%;
    position: absolute;
}

.overlayHide{
    display: none;
}

.overlayShow{
    display: block;
    background: url(../images/overlay.png) repeat;
    z-index: 1;
}

.popups{
    border: 1px solid #666;
    background-color: #FFF;
    width: 400px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 150px;
    padding: 10px;
    -webkit-box-shadow: 0px 1px 14px rgba(255, 255, 255, 1);
    -moz-box-shadow:    0px 1px 14px rgba(255, 255, 255, 1);
    box-shadow:         0px 1px 14px rgba(255, 255, 255, 1);
}

.popupTitle{
    font-weight: bold;
    font-size: 16px;
    border-bottom: 1px solid #CCC;
    padding-bottom: 5px;
}

.popupdescription{
    font-size: 12px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.btnsubmit{
    width: 100px;
    line-height: 20px;
    font-weight: bold;
    background-color: hsl(120, 69%, 17%) !important; background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#23c123", endColorstr="#0d490d"); background-image: -khtml-gradient(linear, left top, left bottom, from(#23c123), to(#0d490d)); background-image: -moz-linear-gradient(top, #23c123, #0d490d); background-image: -ms-linear-gradient(top, #23c123, #0d490d); background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #23c123), color-stop(100%, #0d490d)); background-image: -webkit-linear-gradient(top, #23c123, #0d490d); background-image: -o-linear-gradient(top, #23c123, #0d490d); background-image: linear-gradient(#23c123, #0d490d); border-color: #0d490d #0d490d hsl(120, 69%, 10%); color: #fff !important; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.46); -webkit-font-smoothing: antialiased;
}

.btncancel{
    width: 100px;
    line-height: 22px;
    font-weight: bold;
    color: #000;
    border: 1px solid #CCC;
    background: #FFF;
}

どうしたの?CSS は正常に機能し、JavaScript は機能しないのはなぜですか。すべての Javascript がページの下部 (頭ではなく) に読み込まれています。

4

1 に答える 1

0

$.load は jsfile または javascript を読み込めません。

load を呼び出す親ページに jsfile を配置できます。

次のように、js を $.load 関数に入れます。

$("#popup").load('modules/mod_tellafriend/default.php',function(){
     //javascript
});
于 2013-06-15T05:28:57.323 に答える