JQquery_jquery の使用経験の共有

WBOY
リリース: 2016-05-16 17:51:22
オリジナル
1158 人が閲覧しました

昨日の結果 - 右下隅の永続メッセージ プロンプト

コードをコピー コードは次のとおりです:

var msgClass = function(){
this.init = function(){
var msgDiv = "
"
""
"新しいニュースがありますので、よくチェックしてください! >"
"
"
"
"
" ;"
"
";
$("body ", window.parent.document).append(msgDiv)
$("#msg_show_a", window.parent.document)。 click(function(){msg_click()});
}
var msg_click = function(){
var msgDiv = window.parent.document.getElementById("msg_block"); "none" == msgDiv.style.display) {
msgDiv.style.display = "ブロック";
} else {
msgDiv.style.display = "none"; >}
this.getMessage = function() {
$.ajax( {
type : "POST",
url : "/msg/getPromptMsgInfo.action",
success : function (msg) {
var json = eval(msg);
var num = json.length;
if (num != 0) {
$("#msg_show",window.parent. document).css("display", "");
$("# msg_content", window.parent.document).empty();
for ( var i = 0; i < num; i ) {
var title = json[i].TITLE.substr(0, 12 );
var sub = "
  • json[i].TITLE
    "" >"
    タイトル
    "
  • ";
    var MSG_ID=json[i].MSG_ID;
    var RELATION_ID=json[i].
    $("#msg_content", window.parent.document).append(sub); #a_" i, window.parent.document).click("{'MSGID': '" MSG_ID "','RELATIONID':'" RELATION_ID "'}",
    function(e){
    msgSelected (e.data);
    });
    }
    } else{
    $("#msg_show", window.parent.document).css("display", "none");
    }
    }
    });
    }
    var msgSelected = function(data) {
    var href = ""; json=" data);
    var msgId = json.MSGID;
    var relationshipId = json.RELATIONID;
    /*start----ロジックを記述します*/
    if (1 == relationshipId ) {
    href = "/usercenter/showWaitDiagnose.action?isOnClick=3";
    }
    //.....
    /*end----*/
    $.ajax( {
    type : "post",
    url : "/msg/updateMsgStatue.action",
    data : "msgId=" msgId,
    success : function() {
    parent.window.location.href = href;
    }
    })
    }
    }
    関数 getMsg(){
    new msgClass().getMessage() ;
    }
    $(document).ready(function(){
    var msg = new msgClass();
    msg.init();
    msg.getMessage();
    setInterval("getMsg()", 3000);


    まず最初に、自分では jQuery の使い方がかなり上手だと思っていたことを認めなければなりませんが、昨日の作業の後、まだ始めたばかりであることに気づきました。よし。次に、昨日遭遇した問題とその解決策について簡単に話します。
    1. iframe から親ウィンドウの要素を取得します
    例: いくつかの要素を動的に挿入できるように、親ウィンドウの本文を取得します: $("body", window.parent.document)
    主キーが ID である親ウィンドウの要素を取得します: $("#identity", window.parent.document)
    概要: $(selector, 取得したいウィンドウのドキュメント オブジェクト)、上記!
    2. 要素イベントを動的に追加します
    わかりました。最初に2つの書き方を紹介しますので、どちらが正しいか考えてください。 JS メソッドがあるとします: function fun(){....} html があります:
    この div に onclick イベントを追加します
    2.1 $(" #div1 ").click(fun());
    2.2 $("#div1").click(function(){fun()});
    さて、それは 2.1 ですか 2.2 ですか?
    考えたことはありますか?正解は 2.2 です。信じられない場合は、試してみてください。 2.1 メソッドを使用する場合、効果は fun() を実行した場合と同じです。
    3. パラメーターの受け渡しの問題
    メソッドについて説明したので、パラメーターについて説明する必要があります。メソッド function fun(a, b){....} があるとします。次に、別のメソッドで 2.2 メソッドを呼び出して、div にイベントを追加します。
    例:
    コードをコピー コードは次のとおりです。

    function fun1( ){
    for(var i = 0; i var a = i;
    var b = i 1;
    $("#div1").click( function(){
    fun(a,b);
    }); a と b の値は実際の値とは異なります。解決策は、クリックの別のメソッドを呼び出すことです。
    $("#div1").click(msg,function(e){fun(e.data)};
    msg は文字列型の値です。最も簡単な方法は、送信するパラメータを渡すことです。 json 形式で記述します。
    ここでの e は送信したいデータであると思われるかもしれませんが、実際にはそうではありません。
    実際には、e.data が送信したいデータ メッセージです。 fun 関数で呼び出されます。 :




    コードをコピーします。

    コードは次のとおりです。 関数fun(data) { var json; eval("json=" data);
    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!