"
"
"
"
" ;"
"
";
$("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 関数で呼び出されます。 :
コードをコピーします。