글
urlencode urldecode
//urlencode
function URLEncode(txt)
{
// The Javascript escape and unescape functions do not correspond
// with what browsers actually do...
var SAFECHARS = "0123456789" + // Numeric
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
"abcdefghijklmnopqrstuvwxyz" +
"-_.!~*"()"; // RFC2396 Mark characters
var HEX = "0123456789ABCDEF";
var plaintext = txt;
var encoded = "";
for (var i = 0; i < plaintext.length; i++ ) {
var ch = plaintext.charAt(i);
if (ch == " ") {
encoded += "+"; // x-www-urlencoded, rather than %20
} else if (SAFECHARS.indexOf(ch) != -1) {
encoded += ch;
} else {
var charCode = ch.charCodeAt(0);
if (charCode > 255) {
alert( "Unicode Character ""
+ ch
+ "" cannot be encoded using standard URL encoding.n" +
"(URL encoding only supports 8-bit characters.)n" +
"A space (+) will be substituted." );
encoded += "+";
} else {
encoded += "%";
encoded += HEX.charAt((charCode >> 4) & 0xF);
encoded += HEX.charAt(charCode & 0xF);
}
}
} // for
return encoded;
};
function URLDecode(txt)
{
// Replace + with " "
// Replace %xx with equivalent character
// Put [ERROR] in output if %xx is invalid.
var HEXCHARS = "0123456789ABCDEFabcdef";
var encoded = txt;
var plaintext = "";
var i = 0;
while (i < encoded.length) {
var ch = encoded.charAt(i);
if (ch == "+") {
plaintext += " ";
i++;
} else if (ch == "%") {
if (i < (encoded.length-2)
&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1
&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
plaintext += unescape( encoded.substr(i,3) );
i += 3;
} else {
alert( "Bad escape combination near ..." + encoded.substr(i) );
plaintext += "%[ERROR]";
i++;
}
} else {
plaintext += ch;
i++;
}
} // while
return plaintext;
};
'렛츠웹 + 게임 > My Tip' 카테고리의 다른 글
| 보드생성 관리 소스 (0) | 2009.01.05 |
|---|---|
| [Mysql] FEDERATED Tables (DB Link) (0) | 2009.01.05 |
| 위로 스크롤 되는 배너 (0) | 2009.01.05 |
| innerhtml 을 이용해서 원하는 곳에 tr과 td를 삽입하는 방법 (0) | 2009.01.05 |
| linux 파일 검색,치환등 (0) | 2009.01.05 |
글
위로 스크롤 되는 배너
<!---------------------main_top_text_header.js------------------->
var topTextBanners = [['http://www.gmarket.co.kr/challenge/neo_sangsul/plan_display.asp?sid=32387&pos_shop_cd=EC&pos_class_cd=900000006&pos_class_kind=T','아이비&황보가 떴다!->','ico_event.gif']
,['http://www.gmarket.co.kr/challenge/neo_sangsul/plan_display.asp?sid=29571&pos_class_cd=900000011&pos_class_kind=T','[1+1]아동구두 7,500원!','ico_sale.gif']
,['http://www.gmarket.co.kr/challenge/neo_sangsul/plan_display.asp?sid=32401&pos_class_cd=900000011&pos_class_kind=T','원하시면 만들어드립니다!','ico_special.gif']
,['http://event.gmarket.co.kr/html/200704/070407_hanacard/070407_hanacard.asp?pos_shop_cd=EC&pos_class_cd=900000013&pos_class_kind=T','무료배송체험현장go->','ico_best.gif']
,['http://www.gmarket.co.kr/challenge/neo_category/large_category_gen_100000048.asp?pos_shop_cd=EC&pos_class_cd=900000014&pos_class_kind=T','G-온라인미용실OPEN','ico_hot.gif']
,];
var iScrollerHeight = 20; // 스크롤러의 세로
var iTotalArea = 0;
var bWait = true;
var bMouseOver = false;
var iScrollSpeed = 1; // Scrolling 속도
var iWaitTime = 4000; // 멈추는 시간
var iTemp = 0;
var iMovingAmount = 20;
var arrScrollContent = new Array();
var i;
function startscroll() // 스크롤 시작
{
for (i = 0; i < arrScrollContent.length; i++)
{
insert_area(iTotalArea, iTotalArea++); // area 삽입
}
window.setTimeout("scrolling()", iWaitTime);
}
function scrolling() // 실제로 스크롤 하는 부분
{
if (!bMouseOver && bWait)
{
for (i = 0; i < iTotalArea; i++)
{
tmp = document.getElementById('scroll_area' + i).style;
tmp.top = parseInt(tmp.top) - iScrollSpeed;
if (parseInt(tmp.top) <= -iScrollerHeight)
{
tmp.top = iScrollerHeight * (iTotalArea - 1);
}
if (iTemp++ == ((iMovingAmount - 1) * arrScrollContent.length + 1))
{
bWait = false;
window.setTimeout("bWait=true; iTemp=0;", iWaitTime);
}
}
}
window.setTimeout("scrolling()", 0);
}
function next_scrolling() // 실제로 스크롤 하는 부분
{
for (i = 0; i < iTotalArea; i++)
{
tmp = document.getElementById('scroll_area' + i).style;
tmp.top = parseInt(tmp.top) - iScrollerHeight;
if (parseInt(tmp.top) <= -iScrollerHeight)
{
tmp.top = iScrollerHeight * (iTotalArea - 1);
}
}
}
function insert_area(idx, n)
{
var strContent
strContent = '<div style="left: 0px; width: 179px; height: 20px; position:
strContent += arrScrollContent[idx];
strContent += '</div>';
document.write(strContent);
}
function checkMouseOver()
{
var count
count = 0
for (i = 0; i < iTotalArea; i++)
{
tmp = document.getElementById('scroll_area' + i).style;
if (parseInt(tmp.top) % iScrollerHeight != 0)
count++;
}
if(count == 0)
bMouseOver = true;
}
for(i=0; i<5; i++)
{
arrScrollContent[i] = "<table cellSpacing='0' cellPadding='0' width='100%' border='0'><tr><td width='39' align='center'><img src='http://image.gmarket.co.kr/challenge/neo_image/newmain5/" + topTextBanners[i][2] + "' width='35' height='11'></td><td width='140' class='texttopAD'><font color='#000000'><a href='" + topTextBanners[i][0] + "'>" + topTextBanners[i][1] + "</a></font></td></tr></table>";
}
<!-- Be Generated Successfully -->
<!--2007-04-12 19:10:00-->
<!---------------------main_top_text_header.js------------------->
<!---------------------실행------------------->
<script src=main_top_text_header.js></script>
<span style="left:0px;width:225px;position:relative;height:195px;top:3px">
<div style="left:0px;width:225px;clip: rect(0px 225px 195px 0px);position:
<script language="javascript">startscroll();</script>
</div>
</span>
'렛츠웹 + 게임 > My Tip' 카테고리의 다른 글
| [Mysql] FEDERATED Tables (DB Link) (0) | 2009.01.05 |
|---|---|
| urlencode urldecode (0) | 2009.01.05 |
| innerhtml 을 이용해서 원하는 곳에 tr과 td를 삽입하는 방법 (0) | 2009.01.05 |
| linux 파일 검색,치환등 (0) | 2009.01.05 |
| 사운드제어 (0) | 2009.01.05 |
글
innerhtml 을 이용해서 원하는 곳에 tr과 td를 삽입하는 방법
var selectedIdx = -1;
var tblRowLimit = 10; //10개 행만 지원 합니다.
//테이블의 맨 마지막에 새 행을 추가합니다.
function insertNewRow(cellHtml)
{
var oCell = new Array();
if(cellHtml.length ==0){
return void(alertFocus("입력할 내용이 없습니다",document.frmData.cellHtml));
}
if(tblNews.rows.length >= tblRowLimit){
return void(alertFocus("10개 이상은 입력 하실수 없습니다.",document.frmData.cellHtml));
}
//새 행 추가
var gRows = tblNews.insertRow();
gRows.onmousedown = function(){selectRow(this)}
gRows.onmouseover = function(){tblMouseOver(this)}
gRows.onmouseout = function(){tblMouseOut(this)}
//새 셀(td)추가
oCell[0] = gRows.insertCell();
//각셀의 값 입력
oCell[0].innerHTML = cellHtml;
//추가된 셀 선택
selectRow(gRows) ;
}
//cell HTML 업데이트
function updateTblRow()
{
if(selectedIdx != -1){
if(document.frmData.cellHtml.value.length ==0){
alertFocus("수정할 내용이 없습니다",document.frmData.cellHtml);
}else{
tblNews.rows[selectedIdx].cells[0].innerHTML=document.frmData.cellHtml.value;
}
}
}
//위로!
function upRow()
{
if(selectedIdx == -1) alert("선택두 안하셨구마~");
else if(selectedIdx == 0) alert("이미 맨위구마~ ㅡㅡ;;");
else{
var thisCell = tblNews.rows[selectedIdx].cells[0];
var distCell = tblNews.rows[selectedIdx -1].cells[0];
var tmp = distCell.innerHTML;
distCell.innerHTML = thisCell.innerHTML;
thisCell.innerHTML = tmp;
selectRow(tblNews.rows[selectedIdx -1]);
}
}
//아래로!
function downRow()
{
if(selectedIdx == -1) alert("선택두 안하셨구마~");
else if(selectedIdx + 1 >= tblNews.rows.length) alert("이미 맨 아래 구마~ ㅡㅡ;;");
else{
var thisCell = tblNews.rows[selectedIdx].cells[0];
var distCell = tblNews.rows[selectedIdx +1].cells[0];
var tmp = distCell.innerHTML;
distCell.innerHTML = thisCell.innerHTML;
thisCell.innerHTML = tmp;
selectRow(tblNews.rows[selectedIdx +1]);
}
}
//삭제
function clearRow()
{
tblNews.deleteRow(selectedIdx);
selectedIdx = -1;
}
//해당 row( or cell) 클릭시 작동
function selectRow(tblRow)
{
var f = document.frmData;
if(selectedIdx != tblRow.rowIndex){ //선택
if(selectedIdx != -1 ){
tblNews.rows[selectedIdx].cells[0].style.backgroundColor="white";
}
f.cellHtml.value = tblRow.cells[0].innerHTML;
tblRow.cells[0].style.backgroundColor="#CCFFCC";
selectedIdx = tblRow.rowIndex;
tblEventInit();
}else{ //선택해제
selectedIdx = -1;
tblRow.cells[0].style.backgroundColor="white";
document.frmData.cellHtml.value="";
}
}
function tblMouseOver(tblRow){
if(tblRow.rowIndex != selectedIdx){
tblRow.cells[0].style.backgroundColor="silver";
}
}
function tblMouseOut(tblRow){
if(tblRow.rowIndex != selectedIdx){
tblRow.cells[0].style.backgroundColor="white";
}
}
function tblEventInit()
{
//셀 이벤트 초기화
var len = tblNews.rows.length;
for(var i = 0 ; i < len ; i++){
tblNews.rows[i].onmousedown = function(){selectRow(this)}
tblNews.rows[i].onmouseover = function(){tblMouseOver(this)}
tblNews.rows[i].onmouseout = function(){tblMouseOut(this)}
}
}
function init()
{
tblEventInit();//셀 이벤트 초기화
}
function printDate(t)
{
var txt = document.all[t.name + "Text"];
var time = t.value;
// alert(time);
if(time.length>0){
txt.innerHTML = time.substring(0,4) + "년";
}
if(time.length>4){
txt.innerHTML += " " + time.substring(4,6) + "월";
if( time.substring(0,4) > 2300 || time.substring(0,4) < 1800){
txt.innerHTML = "<font color=red>1800~2300년 사이로 넣어주세요.</font>";
return "";
}
}
if(time.length>6){
txt.innerHTML += " " + time.substring(6,8) + "일";
if( time.substring(4,6) > 12 || time.substring(0,4) < 1){
txt.innerHTML = "<font color=red>01~12월 사이로 입력해주세요.</font>";
return "";
}
}
if(time.length>8){
txt.innerHTML += " " + time.substring(8,10) + "시";
if( time.substring(6,8) > 31 ){
txt.innerHTML = "<font color=red>1~31일 사이로 입력해주세요</font>";
return "";
}
}
if(time.length>10){
txt.innerHTML += " " + time.substring(10,12) + "분";
if( time.substring(8,10) > 23){
txt.innerHTML = "<font color=red>0시~23시 사이로 입력해주세요</font>";
return "";
}
}
if( time.length ==12 && time.substring(10,12) > 59 ){
txt.innerHTML = "<font color=red>0분~59분 사이로 입력해주세요</font>";
return "";
}
return true;
}
function check(mode)
{
var newsText
var f = document.frmData;
if(tblNews.rows.length < 1) alert("작성된 뉴스가 없습니다");
else if(!f.title.value)void(alertFocus("제목을 입력해주세요. 각 뉴스 셋을 구분하는 이름으로 사용됩니다.",f.title));
else if(f.sdTime.value.length != 12)void(alertFocus("게시 시작 일시의 형식이 잘못되었습니다",f.sdTime));
else if(f.edTime.value.length != 12)void(alertFocus("게시 종료 일시의 형식이 잘못되었습니다",f.edTime));
else if(f.edTime.value < f.sdTime.value)void(alertFocus("게시 종료 일시는 시작일시보다 과거가 될수없습니다",f.edTime));
else{
for(var i = 0 ; i < tblRowLimit ; i ++){ //히든폼에 데이터 세팅
newsText = f["newsTxt" + (i + 1) ];
if(tblNews.rows[i]){
newsText.value = tblNews.rows[i].cells[0].innerHTML;
}else{
newsText.value = "";
}
}
f.mode.value=mode;
f.action = "Action.asp";
f.target = "frmAction";
f.submit();
}
}
//alert 후 focus 이동후 false return;
function alertFocus(alertMsg,focusForm)
{
alert(alertMsg);
focusForm.focus();
return false;
}
//키보드 입력시 숫자 이외의 키를 누를 경우 false 를 리턴한다.
function isNum(e){
//alert(event.keyCode);
if ((event.keyCode >= 45 && event.keyCode <= 57) || (event.keyCode >= 96 && event.keyCode <= 105) || event.keyCode == 8|| event.keyCode==13 || event.keyCode==9) return true;
else return false;
}
</script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" onLoad=init()>
테이블 셀 innerHTML 컨트롤 예제
<form name=frmData onSubmit="return false" method="post">
<input type=hidden name="mode" value="">
<input type=hidden name="no" value="">
<input type=hidden name="newsTxt1" value="">
<input type=hidden name="newsTxt2" value="">
<input type=hidden name="newsTxt3" value="">
<input type=hidden name="newsTxt4" value="">
<input type=hidden name="newsTxt5" value="">
<input type=hidden name="newsTxt6" value="">
<input type=hidden name="newsTxt7" value="">
<input type=hidden name="newsTxt8" value="">
<input type=hidden name="newsTxt9" value="">
<input type=hidden name="newsTxt10" value="">
<table border="1" width="700" align="center" cellspacing="0" bordercolordark="white" bordercolorlight="black">
<tr>
<td width="196" valign="bottom">
<table border="0" cellspacing="0" cellpadding="0" width="180" align=center id="tblNews" style="border-width:1px; border-style:dotted;">
<tr>
<td ><img src="http://ulgom.net/image/logobysong.gif" ></td>
</tr>
</table>
<p></p>
<input type=button name=btnSave value="수정사항저장" onClick="check("edit")">
<input type=button name=btnSave value="새이름으로 저장" onClick="check("new")">
</td>
<td width="44" >
<input type="button" value="↑↑" onClick="upRow()"><br><br>
<input type="button" value="↓↓" onClick="downRow()"><br><br>
<input type="button" value="삭제" onClick="clearRow()">
</td>
<td width="438" >
제목 : <input type=text name=title value="" size="46">
<br>시작일시 : <input type=text name=sdTime maxlength=12 size=12 value="" onKeyDown="return isNum(event)" onKeyUp="return printDate(this)">
<font id="sdTimeText" ></font>
<br>종료일시 : <input type=text name=edTime maxlength=12 size=12 value="" onKeyDown="return isNum(event)" onKeyUp="return printDate(this)">
<font id="edTimeText"></font>
<br><font color=red>날짜는 분단위 까지 숫자로만 입력합니다
<br>(예 : 2005년 1월 1일 오후 2시 5분 : 200501011405</font>
<textarea name=cellHtml rows="7" cols="44"></textarea><br>
<input type=button value="수정" name=btnSave onClick="updateTblRow()" ><input type=button value="추가" name=btnNew onClick="insertNewRow(this.form.cellHtml.value)">
</td>
</tr>
</form>
</table>
<center>
<!--- newsList 용 iframe --->
<iframe name=frmNewsList width=680 height=300 frameborder=0></iframe>
<!--- newsList 용 iframe --->
</center>
</body>
<!----DB 컨넥션용 Target Iframe--->
<iframe name="frmAction" width=0 height=0></iframe>
<!----DB 컨넥션용 Target Iframe--->
</html>
'렛츠웹 + 게임 > My Tip' 카테고리의 다른 글
| urlencode urldecode (0) | 2009.01.05 |
|---|---|
| 위로 스크롤 되는 배너 (0) | 2009.01.05 |
| linux 파일 검색,치환등 (0) | 2009.01.05 |
| 사운드제어 (0) | 2009.01.05 |
| 엑셀로다운받기 (0) | 2009.01.05 |
글
linux 파일 검색,치환등
;->앞에 역슬러시 넣을것
find / -iname 파일명 -type d
'렛츠웹 + 게임 > My Tip' 카테고리의 다른 글
| 위로 스크롤 되는 배너 (0) | 2009.01.05 |
|---|---|
| innerhtml 을 이용해서 원하는 곳에 tr과 td를 삽입하는 방법 (0) | 2009.01.05 |
| 사운드제어 (0) | 2009.01.05 |
| 엑셀로다운받기 (0) | 2009.01.05 |
| 소켓통신 프로토콜, xml 파싱 (0) | 2009.01.05 |
글
사운드제어
<!---------------------------------프레임부분----------------------------------->
<frameset rows='0, 1*' framespacing=0 frameborder=0>
<frame src='music_play.php' name='main_top' target_frame='main' marginwidth=0 marginheight=0 noresize scrolling=no>
<frame src='content.php?db=index' name='main' target_frame='_self' marginwidth=10 marginheight=10 noresize>
<body bgcolor='white' text='black' link='blue' vlink='purple' alink='red'>
<p>이 페이지를 보려면, 프레임을 볼 수 있는 브라우저가 필요합니다.</p>
</body>
</noframes>
</frameset>
<!-----------------------------music_play.php시작---------------------------------->
<html>
<head>
<title>juck box</title>
<script language="JavaScript">
var music1="music1.mp3";
var m_tm1 =285000;
var music2="music2.mp3";
var m_tm2 =226000;
var music3="music3.mp3";
var m_tm3 =254000;
var tot_num = 3; // 총갯수
var cur_music=1; // 시작음악
var st = 0; //타이머 상태
function music_play(){
document.player.Stop(); //플레이어 스탑
if(st==1){ //타이머 스탑
clearTimeout(time_id);
st=0;
}
kkk = eval("music"+cur_music); //플레이
document.player.Open(kkk);
du = eval("m_tm"+cur_music);
cur_music++; //다음 음악선택
if(cur_music> tot_num){
cur_music =1;
}
st=1;
//time_id=setTimeout("music_play()", du); //타이머 세팅
}
</script>
</head>
<body>
<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width="1" height="1" vspace="1" hspace="1" align="middle" id="player" style="left:0px; top:0px;">
<param name="AllowScan" value="true">
<param name="AudioStream" value="-1">
<param name="AutoRewind" value="false">
<param name="AutoStart" value="true">
</object>
</body>
</html>
<!----------------------------------------music_play.php끝--------------------------------->
<!--------------------------------해당 본페이지 조절 박스부위 시작----------------------------->
<script>
function music_playing(mode)
{
if(mode=='sound_off'){
top.main_top.document.player.mute=true;
}
else if(mode=='sound_on'){
top.main_top.document.player.mute=false;
}
else if(mode=='music_pause'){
if(top.main_top.document.player.PlayState==2){
top.main_top.document.player.Pause();//1
}
}
else if(mode=='music_stop'){
top.main_top.document.player.Stop();//0
}
else if(mode=='music_play'){
top.main_top.document.player.Play();//2
}
}
</script>
<!----------------------------------------해당 본페이지 조절 박스부위 끝------------------------------->'렛츠웹 + 게임 > My Tip' 카테고리의 다른 글
| innerhtml 을 이용해서 원하는 곳에 tr과 td를 삽입하는 방법 (0) | 2009.01.05 |
|---|---|
| linux 파일 검색,치환등 (0) | 2009.01.05 |
| 엑셀로다운받기 (0) | 2009.01.05 |
| 소켓통신 프로토콜, xml 파싱 (0) | 2009.01.05 |
| 키코드 만들기 (0) | 2009.01.05 |

