[툴팁] 성능을 고려해서 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개
글씨가 넘 작아영 ㅠ
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7630 | 10년 전 | 679 | ||
| 7629 |
|
10년 전 | 2439 | |
| 7628 | 10년 전 | 817 | ||
| 7627 |
|
10년 전 | 1053 | |
| 7626 |
|
10년 전 | 1806 | |
| 7625 | 10년 전 | 742 | ||
| 7624 | 10년 전 | 751 | ||
| 7623 |
|
10년 전 | 3141 | |
| 7622 | 10년 전 | 755 | ||
| 7621 |
leeleeleelee
|
10년 전 | 609 | |
| 7620 | 10년 전 | 556 | ||
| 7619 | 10년 전 | 526 | ||
| 7618 | 10년 전 | 1060 | ||
| 7617 | 10년 전 | 742 | ||
| 7616 | 10년 전 | 680 | ||
| 7615 | 10년 전 | 745 | ||
| 7614 | 10년 전 | 1286 | ||
| 7613 |
|
10년 전 | 2102 | |
| 7612 | 10년 전 | 1184 | ||
| 7611 | 10년 전 | 1448 | ||
| 7610 |
|
10년 전 | 1925 | |
| 7609 |
|
10년 전 | 1381 | |
| 7608 |
mwdkim
|
10년 전 | 1154 | |
| 7607 |
|
10년 전 | 1084 | |
| 7606 |
mwdkim
|
10년 전 | 3961 | |
| 7605 | 10년 전 | 709 | ||
| 7604 | 10년 전 | 1045 | ||
| 7603 | 10년 전 | 1665 | ||
| 7602 |
|
10년 전 | 1097 | |
| 7601 |
AniNest
|
10년 전 | 2815 | |
| 7600 |
port443
|
10년 전 | 1057 | |
| 7599 | 10년 전 | 966 | ||
| 7598 | 10년 전 | 1042 | ||
| 7597 | 10년 전 | 4590 | ||
| 7596 |
SeungYeon
|
10년 전 | 912 | |
| 7595 |
untitled
|
10년 전 | 2460 | |
| 7594 |
프로그래머7
|
10년 전 | 1750 | |
| 7593 |
untitled
|
10년 전 | 2393 | |
| 7592 |
untitled
|
10년 전 | 1958 | |
| 7591 |
untitled
|
10년 전 | 2695 | |
| 7590 |
아리마2001
|
10년 전 | 874 | |
| 7589 | 10년 전 | 1125 | ||
| 7588 |
|
10년 전 | 2940 | |
| 7587 | 10년 전 | 1324 | ||
| 7586 | 10년 전 | 687 | ||
| 7585 | 10년 전 | 1724 | ||
| 7584 | 10년 전 | 1426 | ||
| 7583 |
leeleeleelee
|
10년 전 | 1194 | |
| 7582 |
|
10년 전 | 1154 | |
| 7581 | 10년 전 | 1383 | ||
| 7580 | 10년 전 | 1034 | ||
| 7579 |
|
10년 전 | 626 | |
| 7578 | 10년 전 | 1444 | ||
| 7577 |
|
10년 전 | 1892 | |
| 7576 | 10년 전 | 1402 | ||
| 7575 |
멋진남자임
|
10년 전 | 1483 | |
| 7574 | 10년 전 | 2149 | ||
| 7573 | 10년 전 | 3285 | ||
| 7572 | 10년 전 | 782 | ||
| 7571 |
|
10년 전 | 798 | |
| 7570 |
|
10년 전 | 1345 | |
| 7569 | 10년 전 | 1568 | ||
| 7568 |
this1mg
|
10년 전 | 1067 | |
| 7567 |
|
10년 전 | 785 | |
| 7566 | 10년 전 | 930 | ||
| 7565 |
Angel하늘
|
10년 전 | 1035 | |
| 7564 |
seoldi
|
10년 전 | 1279 | |
| 7563 |
|
10년 전 | 1418 | |
| 7562 |
멋진남자임
|
10년 전 | 2119 | |
| 7561 | 10년 전 | 741 | ||
| 7560 |
leeleeleelee
|
10년 전 | 934 | |
| 7559 | 10년 전 | 5073 | ||
| 7558 |
RinaP
|
10년 전 | 812 | |
| 7557 |
|
10년 전 | 1272 | |
| 7556 | 10년 전 | 1214 | ||
| 7555 |
hyohyojj1234
|
10년 전 | 1682 | |
| 7554 | 10년 전 | 1112 | ||
| 7553 |
senseme
|
10년 전 | 1363 | |
| 7552 |
ehdltdoit
|
10년 전 | 1458 | |
| 7551 |
|
10년 전 | 1846 | |
| 7550 |
leeleeleelee
|
10년 전 | 1618 | |
| 7549 | 10년 전 | 2448 | ||
| 7548 | 10년 전 | 1857 | ||
| 7547 |
멋진남자임
|
10년 전 | 1981 | |
| 7546 | 10년 전 | 1023 | ||
| 7545 |
ILMare1003
|
10년 전 | 1315 | |
| 7544 |
|
10년 전 | 1270 | |
| 7543 | 10년 전 | 904 | ||
| 7542 | 10년 전 | 682 | ||
| 7541 |
울라라라우
|
10년 전 | 886 | |
| 7540 | 10년 전 | 1611 | ||
| 7539 | 10년 전 | 958 | ||
| 7538 |
|
10년 전 | 1848 | |
| 7537 | 10년 전 | 3636 | ||
| 7536 |
Gaumi
|
10년 전 | 1446 | |
| 7535 |
프로그램은어려워
|
10년 전 | 1299 | |
| 7534 |
senseme
|
10년 전 | 1222 | |
| 7533 | 10년 전 | 1224 | ||
| 7532 | 10년 전 | 892 | ||
| 7531 | 10년 전 | 2083 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기