반응형

안녕하세요 무꼬입니다.~~

 

우리가 아는 링크걸기.

즉, '하이퍼 링크(HyperLink Text)'는 보통

<a href="이동 할주소"> 하이퍼링크 </a>

이렇게 링크를 걸죠?

 

오늘은 div 혹은 span 혹은 table 자체에 링크를 걸어보는걸 알려드릴게요~

 

 

우선 DIV , SPAN, TABLE 은 보통 사용해보시면 아시다시피

어떤 박스의 개념이라고 말할수 있는데요.

이 분류된 박스 안에 글, 그림 등을 넣고 웹페이지를 표현할 수 있죠?

 

그런데!!! 이런 경우가 있습니다.

 

아, 그냥 DIV, SPAN, 테이블 자체를 클릭해도 링크가 걸리게 할순 없을까?

 

있지요!

 

우선 핵심 코딩 먼저 나열 하자면,

우리가 지금부터 알아야할 코드는 단 이거 하나입니다.

 

OnClick="location.href='http://canyou2.tistory.com/'"

 

온클릭(OnClick)인데요. 풀이 하자면,

 

클릭이 되었을때(OnClick) = 현재웹페이지의 위치(경로)를 (location.href=)

'http://canyou2.tistory.com' 로 변경해라.

 

 

그럼, 어디다가 갖다 붙이냐?

 

사용하시는 해당 태그에다가 그냥 붙이시면 됩니다~

<DIV onclick="location.href='http://art-life.tistory.com'"> 내용 </DIV>

 

<SPAN onclick="location.href='http://art-life.tistory.com'"> 내용 </SPAN>

 

<TABLE onclick="location.href='http://art-life.tistory.com'">

<TR>

<TD>

1번 셀

</TD>

</TR>

</TABLE>

 

테이블의 경우 각 셀(TD) 마다 다른 링크를 걸고 싶다면 각 TD에다가 삽입하셔도 좋습니다.

아 물론  

onclick="location.href='http://art-life.tistory.com'" 에서

http://art-life.tistory.com 이 부분은 원하시는 주소 적어 주시면

된다는 거 모르시는 분 없겠죠?ㅎㅎㅎ

 

자, 아주 좋은데 한 가지 문제점이 있어요.

이걸 클릭 할 수 있는 건지 아닌지 사용자가 분별하기가 힘들어요.

왜 일까요?

보통 하이퍼 링크의 경우에는 아래와 같이 마우스를 가져다대면 마우스의 커서가 손가락 모양으로 변하게 되어, 사용자에게

아 이건 클릭을 할 수 있는 링크 인가보다 라고 인식을 주게 되죠.

 

 

 

이와 같은 효과를 주기 위해서 STYLE 태그를 이용 해야 합니다~!

style="cursor:pointer;"

 

스타일= "커서를: 포인터로 바꾸어라;

 

 

이것 역시 적용시킬 곳에 넣어 주시기만 하면 됩니다 ㅎㅎ

<DIV style="cursor:pointer;"> 내용 </DIV> 

 

 

아래는 두가지를 동시에 적용 시킨 예제 입니다.

<div onclick="location.href='http://art-life.tistory.com'" style="cursor:pointer;">DIV로 만든 무꼬 블로그!</div>

<br><br>

<span onclick="location.href='http://art-life.tistory.com'" style="cursor:pointer;">SPAN으로 만든 무꼬 링크!</span>

 

<br><br>

 

<table border=1 onclick="location.href='http://art-life.tistory.com'" style="cursor:pointer;">
<tr>
<td>테이블로 만든 무꼬 링크!</td>
</tr>
</table>

 

DIV로 만든 무꼬 블로그!


SPAN으로 만든 무꼬 링크!

테이블로 만든 무꼬 링크!

 

 

 

 

이상 무꼬였습니다~ ㅎㅎ

 

즐거운 JavaScript 되세요~ ㅎㅎ

P.S - 궁금하신 점은 댓글로 달아주시면 신속한 답변이 당신을 기다릴 것입니다~ ㅎㅎ

반응형

'개발 & 강의 > JavaScript' 카테고리의 다른 글

티스토리 메뉴 변경용!  (0) 2014.09.17
반응형

 

안녕하세요~ 알기쉽게 설명하는 초보자를 위한 무꼬입니다.

오늘은 Visual Basic으로 암호화 및 복호화 코딩에 대해 강좌를 하도록 하겠습니다 ㅎㅎ


우선 암호화복호화에 대해 알아보죠~!


[암호화]

데이터 전송 시 타인의 불법적인 방법에 의해 데이터가 손실되거나 변경되는 것을 방지하기 위해 데이터를 변환하여 전송하는 방법.

의미를 알 수 없는 형식(암호문)으로 정보를 변환하는 것.


[복호화]

암호화의 반대 과정.



우선 암호화에는 대칭형(DES)과 비대칭형(RSA)이 있어요.

설명하기가 어려운 부분이 있어서 네이버 지식백과를 참고해서 설명해드릴게요~


대칭형 암호화 방식의 비밀키 암호화기법(DES)비대칭형 암호화 방식의 공개키 암호화 기법(RSA)이 있다. 비밀키 암호화 기법은 동일한 키로 암호화와 복호화를 수행하는 방법으로 보안 유지와 키 관리에 어려움이 있으나 알고리즘이 간단해 암호화 속도가 빠르고 용량이 작아 경제적이다. 공개키 암호화 기법은 공개되는 공개키(public key)와 본인만 사용하는 비밀키(private key)로 구성되는 것으로 공개키와 비밀키를 별도로 관리하기 때문에 키 관리가 용이하며 암호화와 사용자 인증이 동시에 이뤄진다는 특징이 있다. 이는 전자 문서의 디지털서명, 부인봉쇄에 사용된다. 그러나 알고리즘이 복잡해 속도가 느리다는 단점을 가지고 있다.

[네이버 지식백과] 암호화 [暗號化, encryption] (시사상식사전, 박문각)



DES기법 기초 및 중급 암호화 강좌에서 아주 적절한 예라고 생각해서ASCII 코드를 이용한 대칭기법 암호화를 강좌 하겠습니다 ㅎㅎㅎ


혹시라도 아스키코드(ASCIIcode)에 대해서도 모르시는 분들을 위해 조그만 설명을 드리자면,
 American Standard Code for Information Interchange 의 약자로서정보 교환용으로 미국에서 만든 표준 코드입니다.ASCII 코드 표

대문자, 소문자, 숫자, 특수기호, 제어정보등을 포함하는 8개의 비트 코드로 구성이 되며그 중 일곱개의 비트는 코드화되어 있는 문자세트,한 개는 패리티비트(에러 검사용)로 사용 됩니다~ 
뭔소린지 모르겠고, 그냥 암호화 하는 방법이나 가르쳐 달라구요? 그럼 본론으로 들어가볼까요?

[원리 알고리즘]

"Hello~? 무꼬의 블로그입니다!!!" 라는 문자열을 암호화 할 때.
1. 우선 해당 문자열의 길이를 구합니다.(Hello~? 무꼬의 블로그입니다!!! 는 길이가 20)
2. 문자열에서 n번째 글자를 따옴(첫번째부터 문자열길이 까지.)(첫번째 글자인 'H'를 따옴)
3. n번째 글자를 ASCII코드화(숫자화) 시킵니다.('H'를 ASCII코드화 시키면 '72'가 됨.)
4. 암호화 할 대칭 키(Key)만큼 해당숫자에서 뺌.(무꼬는 1을 뺄것임! 72 - 1   1의 데미지를 입었다!!!  71이 됨.더해도 상관은 없음 하지만 복호화 할때는 반대 작업이 필요하니 복호화 할땐거꾸로 빼줘야 겠죠?)
5.이제 이 숫자를 다시 문자화 시켜줌.('H'는 'G'라는 숫자가 되었다!!)
6. 이제 다시 2번으로 돌아가서 두번째, 세번째 문자를 차례로 위의 방법대로 진행합니다.그럼 해보진 않았지만 앞의 'Hello~?'만 보면 'Gdkkp}>' 라는 알수 없는 문자열로 변형 되어 있겠죠?(※한글은 더 복잡하게 알수없게 바뀝니다.)



이제 코딩을 보시죠.


[VB 코딩] 

 EnCoding(문자열)

'출처를 밝히지 않고 퍼갈수 없습니다. 출처를 밝히세요.'출처 무꼬's Art-Life  http://art-life.tistory.comFunction EnCoding(ByVal Input_Str AString'Input_Str:문자열을 받을 변수 Dim Len_Str As Double '문자열의 길이값을 저장할 변수Dim Result As String '결과값을 받을 변수
Dim
Temp_Str As String '임시로 문자를 받을 변수Len_Str = Len(Input_Str) '1. 해당문자열의 길이를 구합니다.
for As Double = 0 to Len_Str - 1 Temp_Str =  Mid(Input_Str,n,1)   '2. 문자열에서 n번째 글자를 따옵니다.'3. n번째 글자를 ASCII코드화(숫자화) 시키고(Asc) 4. 대칭 키 만큼 뺌!(-1) 5. 그리고 다시 문자화 시켜줌 (Chr) Temp_Str = Chr(Asc(Temp_Str) - 1Result &= Temp_Str '5.Next nMsgBox Result '메세지창으로 띄워줌. 혹은 EnCoding = Result 를 써저 재귀함수로 만들어주어도! ㅎㅎ



처음 하시더라도 위에 원리를 보시고 코딩을 분석하시면 되게 쉬울거에요.


자 그럼 복호화는 어떻게 하냐구요?

똑같아요.

다만 아까 대칭 키를 입력할때 빼거나, 더했을 텐데 (저는 -1 을 했죠 ㅎㅎ)

그 반대로 해주는 거죠.

암호화할 때 - 1 을 했다면 복호화 때는 + 1

- 2 를 했다면 복호화 할때는 + 2 를 해주면 된다는 거죠.


그럼 뭐 볼것도 없지만 복호화 코딩도 한번 보실까요?

 DeCoding(문자열)

'출처를 밝히지 않고 퍼갈수 없습니다. 출처를 밝히세요.'출처 무꼬's Art-Life  http://art-life.tistory.comFunction DeCoding(ByVal Input_Str AString'Input_Str:문자열을 받을 변수Dim Len_Str As Double '문자열의 길이값을 저장할 변수Dim Result As String '결과값을 받을 변수 
Dim 
Temp_Str As String '임시로 문자를 받을 변수Len_Str = Len(Input_Str) '1. 해당문자열의 길이를 구합니다.
for As Double = 0 to Len_Str - 1 Temp_Str =  Mid(Input_Str,n,1)   '2. 문자열에서 n번째 글자를 따옵니다.Temp_Str = Chr(Asc(Temp_Str) + 1)  '이 부분만 다르죠 ㅎㅎResult &= Temp_Str '5.Next nMsgBox Result '메세지창으로 띄워줌. 혹은 DeCoding = Result



이해 하셨으리라 믿겠습니다 ㅎㅎ
아 혹시나 궁금한점이 있으시거나,모르겠다 하시면 댓글을 달아주시면 최대한 빠른 시일 내에 답해드리도록 하겠습니다 ㅎㅎ



그럼 즐프로그래밍 하세요~ 이상 무꼬였습니다. ( p.s - 하트 한번 눌러주세요 ㅎㅎ)

반응형
반응형

<script type="text/javascript">
var _clickedMenu=""; //클릭된 메뉴를 기억하기 위한 전역변수
function changeTextColor(clickedMenu){ //메뉴 클릭시 작동
for(i=0;i<=6;i++){
document.getElementById("m_"+i).style.color="#ffffff"; //모든 메뉴를 검정색으로 변경
}
clickedMenu.style.color="#aa5555"; //클릭한메뉴를 빨강으로 변경
_clickedMenu=clickedMenu.text; //클릭한메뉴를 전역변수에 저장
}
function setOnColor(hoveredMenu) { //메뉴에 마우스 오버시 작동
hoveredMenu.style.color="#aa5555"; //폰트색을 빨강으로 변경
}

//메뉴에 마우스 아웃시 작동
function setOutColor(outedMenu) {
//마우스 아웃한 메뉴가 클릭한 메뉴라면 함수를 바로 빠져나온다.
if(outedMenu.text==_clickedMenu) return false;
//색깔을 검정으로 변경
outedMenu.style.color="#ffffff";
}

//메뉴보이기 [저작권] 무예꼬마
function MenuView(Sub_m){
 for (i=1;i<=6;i++){
  var Onview = document.getElementById('sub_' + i);
  Onview.style.display = "none";
 }
if(Sub_m != 0){
var Onview = document.getElementById(Sub_m);
Onview.style.display = "";
}
}

</script>

<div class="menu_frame">
<div class="menu_group" style="position: absolute; left: 800px; top: 800px;">

<a href="https://art-life.tistory.com/" title="무꼬's Art Life" id="m_0" onclick="changeTextColor(this);" onmouseover="setOnColor(this);" onmouseout="setOutColor(this);">
<font size=1>무꼬's</font><br><font size=5>ArtLife</font></a>

 |<a href="http://art-life.tistory.com/category/Issue" id="m_6" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_6');" onmouseout="setOutColor(this);">
Issue</a></div>
 |<a href="http://art-life.tistory.com/category/Martial%20Art%27s" id="m_2" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_2');" onmousout="setOutColor(this);">
Martial Art's</a>
 |<a href="http://art-life.tistory.com/category/Programming" id="m_3" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_3');" onmouseout="setOutColor(this);">
Programming</a>
 |<a href="http://art-life.tistory.com/category/Game" id="m_4" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_4');" onmouseout="setOutColor(this);">
GAME</a>
 |<a href="http://art-life.tistory.com/category/Health" id="m_5" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_5');" onmouseout="setOutColor(this);">
Health</a>
|<a href="http://art-life.tistory.com/category/Daily" id="m_1" onclick="changeTextColor(this);" onmouseover="setOnColor(this); MenuView('sub_1');" onmouseout="setOutColor(this);">
Daily</a>
</div>
<div id="sub_1" style="display:none;">
<a href="http://art-life.tistory.com/category/Daily">Daily</a> |
<a href="http://art-life.tistory.com/category/Daily/외출">외출</a> |
<a href="http://art-life.tistory.com/category/Daily/Food">Food</a> |
<a href="http://art-life.tistory.com/category/Daily/일상">일상</a> |
</div>
<div id="sub_2" style="display:none;">
<a href="http://art-life.tistory.com/category/Martial Art's">Martial Art's</a> |
<a href="http://art-life.tistory.com/category/Martial Art's/기사">기사</a>
</div>
<div id="sub_3" style="display:none;">
<a href="http://art-life.tistory.com/category/Programming">Programming</a> |
<a href="http://art-life.tistory.com/category/Programming/PHP">PHP</a> |
<a href="http://art-life.tistory.com/category/Programming/JavaScript">JavaScript</a> |
<a href="http://art-life.tistory.com/category/Programming/기사">기사</a>
</div>
<div id="sub_4" style="display:none;">
<a href="http://art-life.tistory.com/category/GAME">GAME</a> |
<a href="http://art-life.tistory.com/category/GAME/Ragnarok">라그나로크</a> |
<a href="http://art-life.tistory.com/category/GAME/기사 & 리뷰">기사 & 리뷰</a> |
</div>
<div id="sub_5" style="display:none;">
<a href="http://art-life.tistory.com/category/Health">Health</a> |
<a href="http://art-life.tistory.com/category/Health/기사">기사</a>
</div>
<div id="sub_6" style="display:none;">
<a href="http://art-life.tistory.com/category/Issue">Issue</a>
<a href="http://art-life.tistory.com/category/Issue/유머">유머</a>
<a href="http://art-life.tistory.com/category/Issue/기사">기사[Hot issue]</a>
</div>

반응형
반응형

 

 

접속한 사용자의 브라우저

(Explorer, 구글 크롬, Firefox, 아이폰, 아이패드, 안드로이드, 사파리...)를 구할 수 있습니다.

그리고 브라우저를 구하는데 실패했다면 'none' 문자열을 표시합니다.



브라우저를 구할 웹페이지의 아무곳에나 집어 넣습니다.

<?

function getBrowser(){

$b_list = array('MSIE', 'Chrome', 'Firefox', 'iPhone', 'iPad', 'Android', 'PPC', 'Safari', 'none');

$b_name = 'none';


foreach ($b_list as $user_browser){

 if($user_browser === 'none') break;

 if(strpos($_SERVER['HTTP_USER_AGENT'], $user_browser)){

 $b_name = $user_browser;

 break;

  } }

 return $b_name;

}

?>



사용방법

<?

echo getBrowser()."로 접속 중 입니다.";

?>

결과화면

반응형

+ Recent posts