문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다. 문서의 원본을 보거나 복사할 수 있습니다. //<!--[[사용자:다메즈마/mascot notification.js]]에서 이츠레아 부분 삭제--> //<!--[[사용자:다메즈마/hisyokan.js]]을 변형한 [[사용자:Skim/secretary.js]] 사용--> function randomRange(n1, n2) { return Math.round( Math.random() * 10000) % (n2 - n1) + n1; } function Mascot() { this.is_loaded = false; this.is_show = false; this.mascot_img_list = []; this.message_queue = []; this.now_balloon = null; this.is_small = true; } Mascot.prototype.AddImage = function(img) { this.mascot_img_list.push(img); }; Mascot.prototype._show_balloon = function() { this.now_balloon = document.createElement("div"); $(this.now_balloon).css("position","fixed"); $(this.now_balloon).css("display","none"); $(this.now_balloon).html(this.message_queue[0]); $(this.now_balloon).css("background-color","#000"); $(this.now_balloon).css("color","#FFF"); $(this.now_balloon).css("max-width","225px"); $(this.now_balloon).css("padding","16px"); $(document.body).append(this.now_balloon); $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); $(this.now_balloon).css("border-radius",5); $(this.now_balloon).fadeIn(1000); this.message_queue.shift(); this.now_balloon.obj = this; $(this.now_balloon).click ( function() { var obj = this.obj; $(obj.now_balloon).fadeOut(1000).delay(1000,function(){$(this).remove();}); obj.now_balloon = null; if(obj.message_queue.length != 0) { obj._show_balloon(); } } ); }; Mascot.prototype.Show = function() { if(this.is_show) return; this.is_show = true; var select = this.mascot_img_list[randomRange(0,this.mascot_img_list.length)]; var wrap_div = document.createElement("div"); this.mascot_img_html = document.createElement("img"); this.mascot_img_html.obj = this; if(localStorage.getItem("custom_dmns_is_small") == "true") { this.ToSmall(); } else { this.ToBig(); } this.mascot_img_html.onload = function() { var obj = this.obj; if(localStorage.getItem("custom_dmns_is_small") == "true") { obj.ToSmall(); } else { obj.ToBig(); } if(obj.message_queue.length != 0) { obj._show_balloon(); } $(".top_s_btn").css("display","none"); $("#to-top-btn").css("width",$(this).width()/2); $("#to-bottom-btn").css("width",$(this).width()/2); obj.is_loaded = true; }; $(this.mascot_img_html).click( function() { if(this.obj.is_small == false) { this.obj.ToSmall(); } else { this.obj.ToBig(); } }); this.mascot_img_html.src = select; $(this.mascot_img_html).css("display","block"); $(wrap_div).css("position","fixed"); $(wrap_div).css("right","16px"); $(wrap_div).css("bottom","16px"); $(wrap_div).append(this.mascot_img_html); $(wrap_div).append("<ul style='list-style:none;padding: 0px;margin:0px;display:inline;'><li style='float:left;'><a id='to-top-btn' href='#' style='text-align:center;display:inline-block;line-height:32px;width:100%;background-color:#000;color:#FFF;font-weight:bold;'>위로</a></li><li style='float:left;'><a id='to-bottom-btn' href='#' style='text-align:center;display:inline-block;line-height:32px;width:100%;background-color:#000;color:#FFF;font-weight:bold;'>아래로</a></li></ul>"); $(document.body).append(wrap_div); $("#to-top-btn").click( function() {$('html, body').animate({scrollTop:0}, 'slow');} ); $("#to-bottom-btn").click( function() {$('html, body').animate({scrollTop:document.body.scrollHeight}, 'slow');} ); }; Mascot.prototype.ShowMessage = function(msg) { this.message_queue.push(msg); if(this.is_show == false) { this.Show(); } else{ this.CloseMessage(); } if(this.now_balloon == null && this.is_loaded == true) { this._show_balloon(); } }; Mascot.prototype.CloseMessage = function() { $(this.now_balloon).fadeOut(1000).delay(1000,function(){$(this).remove();}); this.now_balloon = null; if(this.message_queue.length != 0) { this._show_balloon(); } }; Mascot.prototype.ToSmall = function() { $(this.mascot_img_html).css("width",96); if(this.now_balloon != null) { $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); } $("#to-top-btn").css("width",$(this.mascot_img_html).width()/2); $("#to-bottom-btn").css("width",$(this.mascot_img_html).width()/2); this.is_small = true; localStorage.setItem("custom_dmns_is_small",true); }; Mascot.prototype.ToBig = function() { $(this.mascot_img_html).css("width",256); if(this.now_balloon != null) { $(this.now_balloon).css("bottom",$(this.mascot_img_html).height()/2 +16 - $(this.now_balloon).height()/2 + 32); $(this.now_balloon).css("right",$(this.mascot_img_html).width() + 32); } $("#to-top-btn").css("width",$(this.mascot_img_html).width()/2); $("#to-bottom-btn").css("width",$(this.mascot_img_html).width()/2) this.is_small = false; localStorage.setItem("custom_dmns_is_small",false); } var mascot = new Mascot(); //마스코트를 수정하실 분은 이 부분 부터 변경하시면 됩니다. $(document).ready(function(){ /* 아랫 줄 큰 따옴표(") 사이에 이미지 주소를 넣으면 이미지를 불러올 수 있습니다 (gif도 가능). 리브레 위키 내의 이미지의 경우 "https://librewiki.net"을 생략 가능하며, 외부 이미지는 이미지 주소를 다 쓰셔야합니다. */ var secretary1 = "https://librewiki.net/images/4/47/Ledibug-Louis-Fact.png"; //리디버그 var secretary2 = "https://librewiki.net/images/3/39/%EB%A6%AC%EB%B8%8C%EB%A0%88%ED%9B%84%EB%9D%BC%EC%9D%B4.png"; //리브렌 /* 마스코트의 코멘트는 아래 대괄호 안의 문장을 바꾸시면 됩니다. 문장을 추가할 시에는 콤마(,)를 넣어야 합니다. */ var secretary1_comment = [ "안뇽?", ]; var secretary2_comment = [ "므앙", ]; var secretaries = [secretary1, secretary2]; var secretaries_comment = [secretary1_comment, secretary2_comment]; var index = randomRange(0,secretaries.length); mascot.AddImage(secretaries[index]); mascot.ShowMessage(secretaries_comment[index][randomRange(0,secretaries_comment[index].length)]); var temp = function(){ var param = { "action":"query", "meta":"notifications", "notlimit":10, "format":"json" }; $.ajax("/api.php", { data:param, dataType:"json" }) .done(function(res) { var list_o = res.query.notifications.list; var list = []; for(var key in list_o) { list.push(list_o[key]); } var unread_message = []; for(var i = 0 ; i < list.length ; i++) { if(list[i].read == null && list[i].type != "page-linked") { unread_message.push(list[i]); } } if(unread_message.length != 0) {//메세지 알람 멘트를 수정 하려면 '>와 </a>사이를 변경하세요. if(index == 0) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>알림이 왔습니디버그.</a>"); } if(index == 1) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>알림! 알림!</a>"); } } }); }; temp(); setInterval(temp,1000 * 20); }); 사용자:후라이/Gadget-Mascot.js 문서로 돌아갑니다.