[툴팁] 성능을 고려해서 jquery 와 자바스크립트를 잘 선택해서 사용해야합니다.
예를 들면 툴팁같은경우
jquery 를 쓰면 더 느리게 처리하는 경우가 있습니다.
그럴때는 순수 자바스크립트로만 툴팁을 적용하면 훨씬 빠른 효과를 얻을수있습니다.
// tooltip.js
[code]
var preview="";
var gobj="";
function attachEvent_(obj, evt, fuc, useCapture) {
if(!useCapture) useCapture=false;
if(obj.addEventListener) { // W3C DOM 지원 브라우저
return obj.addEventListener(evt,fuc,useCapture);
} else if(obj.attachEvent) { // MSDOM 지원 브라우저
return obj.attachEvent("on"+evt, fuc);
} else { // NN4 나 IE5mac 등 비 호환 브라우저
MyAttachEvent(obj, evt, fuc);
obj['on'+evt]=function() { MyFireEvent(obj,evt) };
}
}
function detachEvent_(obj, evt, fuc, useCapture) {
if(!useCapture) useCapture=false;
if(obj.removeEventListener) {
return obj.removeEventListener(evt,fuc,useCapture);
} else if(obj.detachEvent) {
return obj.detachEvent("on"+evt, fuc);
} else {
MyDetachEvent(obj, evt, fuc);
obj['on'+evt]=function() { MyFireEvent(obj,evt) };
}
}
function MyAttachEvent(obj, evt, fuc) {
if(!obj.myEvents) obj.myEvents= {};
if(!obj.myEvents[evt]) obj.myEvents[evt]=[];
var evts = obj.myEvents[evt];
evts[evts.length]=fuc;
}
function MyFireEvent(obj, evt) {
if(!obj.myEvents || !obj.myEvents[evt]) return;
var evts = obj.myEvents[evt];
for (var i=0;i<len;i++) {
len=evts.length;
evts[i]();
}
}
function previewShow(e, obj, pv) {
preview=pv;
gobj=obj;
attachEvent_(obj, "mousemove", previewMove, false);
attachEvent_(obj, "mouseout", previewHide, false);
}
function previewMove(e) {
var hb = document.getElementById(preview);
if(hb.parentElement) hb.parentElement.style.display="";
else hb.parentNode.style.display="";
var evt = e ? e : window.event;
var posx=0;
var posy=0;
if (evt.pageX || evt.pageY) { // pageX/Y 표준 검사
posx = evt.pageX +8;
posy = evt.pageY +16;
} else if (evt.clientX || evt.clientY) { //clientX/Y 표준 검사 Opera
posx = evt.clientX +10;
posy = evt.clientY +20;
if (window.event) { // IE 여부 검사
posx += document.body.scrollLeft;
posy += document.body.scrollTop;
}
}
hb.style.left = posx + "px";
hb.style.top = posy + "px";
}
function previewHide() {
var hb = document.getElementById(preview);
if(hb.parentElement) hb.parentElement.style.display="none";
else hb.parentNode.style.display="none";
detachEvent_(gobj,"mousemove", previewMove, false);
}
[/code]
// test.html
[code]
<script src="tooltip.js" type="text/javascript"></script>
<style type="text/css">
div.mouseView { width:150px; position:absolute; border:2px solid #ccc; font-size:12px; background-color:#fafafa; }
</style>
<a href="#" onmouseover="previewShow(event,this,'t_tip1');">마우스 오버</a>
<span style="display:none;">
<div id="t_tip1" class="mouseView">툴팁내용(HTML가능)</div>
</span>
[/code]
댓글 6개
글씨가 넘 작아영 ㅠ
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 6230 |
senseme
|
12년 전 | 1058 | |
| 6229 |
senseme
|
12년 전 | 1079 | |
| 6228 | 12년 전 | 4441 | ||
| 6227 |
senseme
|
12년 전 | 1497 | |
| 6226 |
senseme
|
12년 전 | 1644 | |
| 6225 | 12년 전 | 5500 | ||
| 6224 | 12년 전 | 3271 | ||
| 6223 |
kiplayer
|
12년 전 | 2142 | |
| 6222 | 12년 전 | 1303 | ||
| 6221 | 12년 전 | 3495 | ||
| 6220 | 12년 전 | 2517 | ||
| 6219 | 12년 전 | 2230 | ||
| 6218 |
senseme
|
12년 전 | 1843 | |
| 6217 |
senseme
|
12년 전 | 1534 | |
| 6216 |
senseme
|
12년 전 | 1530 | |
| 6215 |
senseme
|
12년 전 | 1283 | |
| 6214 | 12년 전 | 2399 | ||
| 6213 |
senseme
|
12년 전 | 1672 | |
| 6212 |
senseme
|
12년 전 | 1349 | |
| 6211 |
senseme
|
12년 전 | 2436 | |
| 6210 |
senseme
|
12년 전 | 1617 | |
| 6209 | 12년 전 | 2221 | ||
| 6208 | 12년 전 | 3446 | ||
| 6207 | 12년 전 | 1227 | ||
| 6206 |
senseme
|
12년 전 | 2198 | |
| 6205 | 12년 전 | 1042 | ||
| 6204 |
kiplayer
|
12년 전 | 1528 | |
| 6203 |
senseme
|
12년 전 | 2129 | |
| 6202 |
senseme
|
12년 전 | 1755 | |
| 6201 |
senseme
|
12년 전 | 4571 | |
| 6200 |
senseme
|
12년 전 | 2671 | |
| 6199 |
senseme
|
12년 전 | 2835 | |
| 6198 |
senseme
|
12년 전 | 1240 | |
| 6197 |
senseme
|
12년 전 | 8558 | |
| 6196 |
senseme
|
12년 전 | 3346 | |
| 6195 | 12년 전 | 1435 | ||
| 6194 |
|
12년 전 | 1291 | |
| 6193 |
senseme
|
12년 전 | 2695 | |
| 6192 |
senseme
|
12년 전 | 5367 | |
| 6191 |
senseme
|
12년 전 | 3418 | |
| 6190 | 12년 전 | 1344 | ||
| 6189 | 12년 전 | 13501 | ||
| 6188 |
웹디자인되고파
|
12년 전 | 1208 | |
| 6187 | 12년 전 | 627 | ||
| 6186 | 12년 전 | 3936 | ||
| 6185 | 12년 전 | 1475 | ||
| 6184 | 12년 전 | 9384 | ||
| 6183 | 12년 전 | 796 | ||
| 6182 |
senseme
|
12년 전 | 1240 | |
| 6181 |
senseme
|
12년 전 | 3227 | |
| 6180 |
senseme
|
12년 전 | 856 | |
| 6179 |
senseme
|
12년 전 | 1768 | |
| 6178 | 12년 전 | 3632 | ||
| 6177 | 12년 전 | 1065 | ||
| 6176 | 12년 전 | 957 | ||
| 6175 |
senseme
|
12년 전 | 5303 | |
| 6174 |
senseme
|
12년 전 | 1430 | |
| 6173 |
senseme
|
12년 전 | 752 | |
| 6172 |
senseme
|
12년 전 | 2745 | |
| 6171 |
senseme
|
12년 전 | 2490 | |
| 6170 |
senseme
|
12년 전 | 1507 | |
| 6169 |
senseme
|
12년 전 | 2931 | |
| 6168 |
senseme
|
12년 전 | 6536 | |
| 6167 | 12년 전 | 2140 | ||
| 6166 | 12년 전 | 747 | ||
| 6165 |
페이지팩트
|
12년 전 | 1909 | |
| 6164 |
네오soft
|
12년 전 | 1860 | |
| 6163 |
|
12년 전 | 2606 | |
| 6162 | 12년 전 | 592 | ||
| 6161 |
|
12년 전 | 1694 | |
| 6160 | 12년 전 | 773 | ||
| 6159 | 12년 전 | 1777 | ||
| 6158 |
|
12년 전 | 2682 | |
| 6157 |
sa2pan
|
12년 전 | 1247 | |
| 6156 | 12년 전 | 3893 | ||
| 6155 | 12년 전 | 9968 | ||
| 6154 | 12년 전 | 1126 | ||
| 6153 | 12년 전 | 2454 | ||
| 6152 |
생각보다몸이앞서다
|
12년 전 | 2126 | |
| 6151 | 12년 전 | 2977 | ||
| 6150 |
kiplayer
|
12년 전 | 6009 | |
| 6149 |
|
12년 전 | 2648 | |
| 6148 | 12년 전 | 2973 | ||
| 6147 |
hwang007
|
12년 전 | 953 | |
| 6146 |
aqqasdf
|
12년 전 | 770 | |
| 6145 | 12년 전 | 1863 | ||
| 6144 | 12년 전 | 5880 | ||
| 6143 |
smwkd
|
12년 전 | 1465 | |
| 6142 | 12년 전 | 4703 | ||
| 6141 | 12년 전 | 930 | ||
| 6140 | 12년 전 | 4099 | ||
| 6139 | 12년 전 | 1243 | ||
| 6138 | 12년 전 | 1097 | ||
| 6137 |
SugarSkull
|
12년 전 | 1682 | |
| 6136 | 12년 전 | 1312 | ||
| 6135 |
한번잘해보자
|
12년 전 | 562 | |
| 6134 |
프리랜서개발자
|
12년 전 | 541 | |
| 6133 |
basaria
|
12년 전 | 20445 | |
| 6132 | 12년 전 | 509 | ||
| 6131 | 12년 전 | 1086 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기