문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 여기에는 다른 사용자의 개인 설정이 포함되어 있기 때문에 이 자바스크립트 문서를 편집할 수 없습니다. 문서의 원본을 보거나 복사할 수 있습니다. /* 사용자:다메즈마로 부터 기본 코드를 가져왔습니다. 사용하시는 것은 자유지만 사용자:다메즈마의 코드를 퍼왔다고 한 줄만 써주세요. 바뀐 점 제가 안 쓰는 북마크 버튼을 삭제하고 대신 아래로 가는 버튼 추가. "위로"와 "아래로"에 애니매이션 추가. 여러 이미지 사용 가능, 이미지 별로 코멘트 작성 가능. 모바일에선 안 나오게 수정. */ /* 참고: 이 스크립트는 사용자:Skim님께서 수정하신 버전을 손본 것입니다. */ 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(){ var isMobile = false; if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)){ isMobile = true; } if(isMobile === false){ var secretary1 = "/images/1/1d/Sephi1"; //세피1 var secretary2 = "/images/1/1d/Sephi2"; //세피2 var secretary3 = "/images/1/1d/Sephi2"; //세피3 var comment1 = [ "안녕하세요...", "...여긴 어디죠?", "제가 왜 여기에...?", "...", "모르겠어요..." "하아..." ]; var comment2 = [ "하아... 바쁘네요...", "말 시키지 말아주세요.", "됐거든요.", "...", "여긴 한가해서 좋겠네요.", "또 반달이에요..." ]; var comment3 = [ "왜요?", "이 가지... 그렇게 이상해요?" "여기 있으면 안 되는데..." ]; var comment4 = [ "프로듀서, 안녕하세요.", "빈약하고 쪼그맣지만 잘 부탁드려요... 프로듀서.", "차를 내왔으니 드시고 하세요.", "앗, 프로듀서. 저.. 저기에 개가...", "우우.. 저 같은건 구멍파고 묻혀있을게요!" ]; var comment5 = [ "안녕하세요! 프로듀서!", "프로듀서! 하이-터치! 예이!", "우으... 프로듀서, 이번 달 돈이 조금 모자랄지도...", "반...달리즘? 우으... 어려운 단어 쓰지 말아주세요, 프로듀서.", "ζ*'ヮ')ζ <웃우-" ]; var comment6 = [ "안녕하세요, 프로듀서.", "위키를 할 시간에 좀 더 레슨을 했으면...", "반달리즘? 뭐어, 아무래도 상관 없지만요.", "큿!" ]; var comment7 = [ "안녕하십니까, 프로듀서.", "오늘은 라-멘이 먹고 싶군요.", "이 문서는... 멘요나!", "위...키? 참으로 현대 문명은 어렵군요.", "......" ]; var comment8 = [ "허니♡ 안녕!", "미키적으로는 이 문서 재미 없는 것 같은 느낌.", "... 아후.", "이 문서는 괜찮은 것 같은 거야. 아핫☆", "오니기리나노-!" ]; var comment9 = [ "프로듀서씨 안녕하세요.", "윽, 코피가...", "이.. 이 문서는! 나중에 이 소재로 한 번...", "망상이... 안 돼.. 안 돼! 코토리!!" ]; var comment10 = [ "안녕! 프로듀서.", "이 변태! 초 변태! 변태 다렌!", "오늘도 이 슈퍼 아이돌 이오리쨩을 보다니 운이 좋네?", "니히힛~", "따.. 딱히 한가해서 여기 있는게 아니니깐..." ]; var comment11 = [ "프로듀서씨, 오늘도 좋은 날이네요.", "어라...? 여긴 어디일까요?", "아라아라~", "어쩌면 프로듀서씨가 제 운명의...", "(도타푸~웅)" ]; var comment12 = [ "안녕하세요! 프로듀서!", "꺄삐삐삐삐! 마코마코링~♪", "프로듀서! 다음엔 귀여운... 아! 어디가세요!", "프로듀서, 위키만 하면 몸에 안 좋아요." ]; var comment13 = [ "안녕하세요, 프로듀서.", "새우튀김? 파인애플? 또 이상한 소리를...", "프로듀서, 위키 그만하고 일 좀 해주세요.", "아, 프로듀서! 또 위키하고 있나요?" ]; var secretaries = [secretary1, secretary2, secretary3, secretary4, secretary5, secretary6, secretary7, secretary8, secretary9, secretary10, secretary11, secretary12, secretary13]; var comments = [comment1, comment2, comment3, comment4, comment5, comment6, comment7, comment8, comment9, comment10, comment11, comment12, comment13]; var index = randomRange(0,secretaries.length); mascot.AddImage(secretaries[index]); mascot.ShowMessage(comments[index][randomRange(0,comments[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) { 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>"); } if(index == 2) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>니쨩, 메시지 왔어.</a>"); } if(index == 3) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>프로듀서, 메시지가 왔어요.</a>"); } if(index == 4) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>프로듀서! 메시지 왔어요!</a>"); } if(index == 5) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>프로듀서, 메시지 왔어요.</a>"); } if(index == 6) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>프로듀서, 메시지가 왔습니다.</a>"); } if(index == 7) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'>허니~, 메시지가 왔어.</a>"); } if(index == 8) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'프로듀서씨, 메시지 왔어요.</a>"); } if(index == 9) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'프로듀서, 메시지 왔어.</a>"); } if(index == 10) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'프로듀서씨, 메시지가 왔어요.</a>"); } if(index == 11) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'프로듀서!, 메시지 왔어요!</a>"); } if(index == 12) { mascot.ShowMessage("<a style='color:#FFF;' href='/wiki/"+ encodeURIComponent(unread_message[unread_message.length - 1].title.full) + "'프로듀서, 메시지 확인하세요.</a>"); } } }); }; temp(); setInterval(temp,1000 * 20); } }); 사용자:Sternradio/Sephirot.js 문서로 돌아갑니다.