'분류 전체보기'에 해당되는 글 151건

  1. 2011.05.23 슬라이드 메뉴
  2. 2011.05.19 크로스 브라우져 CSS 그라디언트 사용하기
  3. 2011.05.19 CSS Background 투명도 조절 (RGBa, Filter 활용)
  4. 2011.05.18 요즘 한계를 점점 넓히는 느낌이랄까...
  5. 2011.05.18 이미지 낙관 만들어 주는 곳
  6. 2011.05.12 비디오
  7. 2011.04.20 Method
  8. 2011.04.19 “태블릿과 스마트폰 시대”에 절대 피해야 할 웹 UI 7가지
  9. 2011.04.19 배열
  10. 2011.04.18 (예제 2) switch

슬라이드 메뉴

jQuery 2011. 5. 23. 10:28
.hasClass
매치되는 엘리먼트에 매개변수로 전달받은 클래스명이 있는지 확인한다.
일치하는 클래스명이 있으면 true, 없으면 false를 반환한다.

*********************************************************************************************

h2 {cursor:pointer;}
.none {display:none;}
.list {cursor:pointer;}


 function slide(obj) {
    if( jQuery(obj).hasClass("on") ) {
      jQuery(obj).find('.test').slideUp();
      jQuery(obj).removeClass("on");
      jQuery(obj).find("h2").addClass("on");
     } else {
      jQuery(obj).find('.test').slideDown();
      jQuery(obj).addClass("on");
      jQuery(obj).find("h2").removeClass("on");
     }
   }

<div class="list on" onclick="slide(this)">
    <h4>열렸다닫힘</h4>
    <div class="test">내용입니다.</div>
</div>
<div class="list" onclick="slide(this)">
    <h4>열렸다닫힘</h4>
    <div class="test none">내용입니다.</div>
</div>
<div class="list" onclick="slide(this)">
    <h4>열렸다닫힘</h4>
    <div class="test none">내용입니다.</div>
</div>

*************************************************************************************

첫번째 list 그룹에서 on이 빠지면 두번 클릭해야 동작한다.  

'jQuery' 카테고리의 다른 글

조작하려는 엘리먼트 선택하기  (0) 2011.06.20
텍스트 메뉴 롤오버  (0) 2011.06.01
JQuery 플러그인  (0) 2011.04.06
택스트 on_off 탭메뉴 1  (0) 2011.01.27
tree 메뉴  (0) 2010.10.14
:

크로스 브라우져 CSS 그라디언트 사용하기

CSS 2011. 5. 19. 16:43

CSS 그라디언트는 이미 2년전에  Webkit에 의해 도입되었지만, 여러 브라우져들과의
비호환성때문에 사용이 드물었습니다. 하지만 현재 CSS 그라디언트를 지원하는 파이어폭스(firefox) 3.6+ 덕분에
우리는 이미지로 만들 필요 없이 그라디언트를 만들 수 있습니다.
이번 포스트는 메이져 브라우져에서 가능한 CSS 그라디언트를 어떤 코드로 생성해야 할지 소개합니다.
(IE, Firefox 3.6+, Safari, Chrome)


웹킷 브라우져를 위한 CSS 그라디언트
다음 코드 행들은 사파리,크롬과 같은 브라우져에서 top(#ccc)에서 bottom(#000)까지의 선형 그라디언트를 표현합니다.




Firefox 3.6+ 위한 CSS 그라디언트




Internet Explorer 위한 CSS 그라디언트
아래의 필터는 오직 IE에서만 읽어낼 수 있습니다.
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000');




Cross-Browser CSS Gradient (demo 데모 클릭)

위에 소개된 세 가지 소스를 모두 넣어 만든 크로스 브라우져 그라디언트 데모입니다.

background: #999; /* for non-css3 browsers */

filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#cccccc', endColorstr='#000000'); /* for IE */
background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#000)); /* for webkit browsers */
background: -moz-linear-gradient(top,  #ccc,  #000); /* for firefox 3.6+ */




CSS Gradient 드롭 메뉴

다음은 순수하게 CSS만을 사용하며 제작한 드롭다운 메뉴입니다.
(shadow, radius-border, box-shadow)

(이미지를 클릭하시면 데모를 보실 수 있습니다)



인터넷 익스플로러의 한계

인터넷 익스플로러에서는 그라디언트 color-stop, gradient angle, and radial gradient를 지원하지 않습니다
그렇기 때문에 단 2 가지의 색상만으로 수평 또는 수직 그라디언트만 할 수 있단 얘기죠;

마지막으로 주의사항 한가지.

모든 브라우저가 CSS의 그라디언트를 지원하지 않습니다. 안전을 위해서는
CSS의 그라디언트의 레이아웃을 코딩에 의존하지 말고
 레이아웃을 강화에 사용해야합니다.


원문 :http://www.webdesignerwall.com/tutorials/cross-browser-css-gradient/


/*****************************************************************************************/


background: #f1c660; /* Old browsers */
background: -moz-linear-gradient(top,  #fcf1d9 0%, #f1c660 50%);
background: -webkit-gradient(linear, left 0%, left 50%, from(#fcf1d9), to(#f1c660));
background: -o-linear-gradient(top, #fcf1d9 0%, #f1c660 50%);

:

CSS Background 투명도 조절 (RGBa, Filter 활용)

CSS 2011. 5. 19. 16:38

자식에게 영향을 주지 않는 배경색상의 투명도만 조절하는 CSS Style 을 구현합니다.

.alpha60 {
    /* 0.6 투명도가 적용 된 색상 적용 */
    background: rgba(0, 0, 0, 0.6);
    /* IE 5.5 - 7 */
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
    /* IE 8 */
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
}

ie에서는 그라디언트 필터를 이용하는 건인데 #99000000 에서 99가 투명도를 나타낸다.
이 숫자를 구하는 방법은

Math.floor(0.6 * 255).toString(16);

위의 소스를 파이어버그 콘솔에서 돌려보자~


참조 :

http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/



.alpha60 { background: rgba(0, 0, 0, 0.6) !important;
     filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);
   -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";}

:

요즘 한계를 점점 넓히는 느낌이랄까...

diary 2011. 5. 18. 15:50

음....뭐...계약에 디자인을 포함시키는 순간 이렇게 될거라고 예상은 했지만.....현실로 닥치고 보니 느낌이 또 다르네.
당초 예상은 디자인30% 코딩70% 잡고 들어간거였는데....

나 요즘 뭐하는건지 모르겠다.

디자인 할땐 확실히 스트레스 더 받긴 하나보다. 코피 쏟는 날도 오고. 참 세상 살고 볼일;

디자이너야 퍼블리셔야. 요즘 구분이 너무 무의미하단 느낌이다. 일만 많아지고 있어 ㅠㅠ

'diary' 카테고리의 다른 글

[퍼옴] 로딩바 사이트  (0) 2012.03.21
이미지 낙관 만들어 주는 곳  (0) 2011.05.18
[퍼옴] 차세대 웹브라우저 전쟁  (0) 2011.04.18
css 코딩 정석??  (0) 2011.04.07
무료 다운로드 사이트  (0) 2011.03.25
:

이미지 낙관 만들어 주는 곳

diary 2011. 5. 18. 15:32

'diary' 카테고리의 다른 글

[퍼옴] 로딩바 사이트  (0) 2012.03.21
요즘 한계를 점점 넓히는 느낌이랄까...  (0) 2011.05.18
[퍼옴] 차세대 웹브라우저 전쟁  (0) 2011.04.18
css 코딩 정석??  (0) 2011.04.07
무료 다운로드 사이트  (0) 2011.03.25
:

비디오

HTML 2011. 5. 12. 15:37

<embed src="we think like you_korean.mpg" wmode="transparent" allowScriptAccess="always" allowFullscreen="true" name="lgmovie" width="1200px" height="870px" loop="true" showcontrols="false" windowlessVideo="true"/>
:

Method

script 2011. 4. 20. 10:21

Method 란 form에 입력 된 정보를 어떤 방식으로 보낼까를 결정하는 프로퍼티이다. POST와 GET 두 가지 값을 사용할 수 있다.


GET
FORM에 입력된 값들이 URL에 따라서 전달된다. URL에 그대로 내용이 표시되기 때문에 비밀번호 필드 처럼 중요한 정보를 담은 데이터는 GET방식으로 전달하면 안된다. 또 GET방식으로 전달할 수 있는 크기가 한정되어 있어 많은 양의 데이터를 전달하는 데에도 적합하지 않다.


POST
FORM에 입력된 값들이 URL에 표시되지 않고 HTTP 프로토콜의 헤더에 담겨 전달된다. URL에 값들이 노출되지 않고 전송 용량의 크기에 제한이 없다. 이미지 등의 파일을 서버로 전달할 때에도 메소드를 POST로 설정해야 한다.

'script' 카테고리의 다른 글

정렬알고리즘  (0) 2012.06.13
[Javascript ] IMG onerror 처리  (0) 2011.06.23
배열  (0) 2011.04.19
(예제 2) switch  (0) 2011.04.18
예제1  (0) 2011.04.18
:

“태블릿과 스마트폰 시대”에 절대 피해야 할 웹 UI 7가지

모바일 2011. 4. 19. 14:55


“태블릿과 스마트폰 시대”에 절대 피해야 할 웹 UI 7가지
출처 : by IDG Korea | 2011. 04. 11  | http://www.bloter.net/archives/56552

 
클라이언트들은 터무니없는 말을 하곤 한다. 예전에 누군가가 말했다. “고객이 바보 같이 작은 스마트폰 화면으로 우리 사이트에 방문할 일은 없을 것이다.” 필자는 깜짝 놀랐다. “정말?” 그리고는 되물었다. “만약 식사를 하면서 회의중이고, 고객이 자신의 상사에게 제품의 사양을 보여주고 싶다면?” 아니면 “만약 고객이 당신의 전화번호를 찾으려 한다면?”
클라이언트들은 종종 스마트폰, 태블릿, 그 외의 모바일 기기들이 웹에 접속하는 방식을 얼마나 빠르게 변화시키고 있는지를 무시한다. 더욱 슬프게도, 극소수의 웹 개발자만이 자신의 클라이언트에게 이런 현실을 알려준다.

그래픽 디자이너들은 아직도 자신들의 작업 결과물이 종종 더 자그마한 화면에서 보여진다는 사실을 간과한 채, 애플 시네마 디스플레이 모니터를 캔버스 삼아 자신들의 사이트를 그려 나간다. 그리고 코더(coder)들은 자신들이 HTML과 CSS의 복잡한 내용과 한계를 이해하고 있어야 함에도 불구하고, 만들어진 디자인을 맹목적으로 구현한다.

그 결과로, 너무 많은 웹사이트들이 여전히 진부한 UI 상의 실수들을 범하고 있으며, 태블릿과 스마트폰 사용자들이 사이트를 사용하지 못하도록 만들고 만다. 여기 몇 가지 예를 제시한다.

 

웹 UI 실수 1 : 롤오버(rollover) 사용

언젠가부터, 웹 개발자들은 사용자가 화면의 특정 부분에 마우스를 올려놓았을 때 내용을 보여주거나 컨트롤을 강조하는 것을 매우 좋아한다. 이것이 스마트폰과 태블릿에 일으키는 문제는 명확하다. 마우스 커서가 없으면, 컨트롤 위에 마우스를 올려놓을 방법이 없다.

그렇다고 모든 롤오버 효과를 없애야 한다는 것은 아니다. 하지만 터치스크린 사용자를 위하여, 모든 마우스 오버 이벤트에 대해 그와 같은 기능을 하는 클릭 이벤트가 있어야 할 것이다. 마우스만을 위해 디자인된 메뉴 때문에, 스마트폰 사용자들이 매번 페이지를 다시 로딩하는 일은 없어져야 한다.

 

웹 UI 실수 2 : 커스텀 위젯과 컨트롤 사용

디자이너들은 버튼과 다른 위젯들에 고유의 모양과 느낌을 주는 것을 좋아한다. 하지만 UI 표준은 플랫폼에 따라 서로 다르며, 컨트롤을 모든 기기에서 동일하게 알아보고 사용할 수 있도록 하지 않으면 웹사이트의 사용 편의성이 나빠진다.

커스텀 스크롤 바는 가장 나쁜 사례 중 하나이다. 때때로 디자이너들은 기본 컨트롤을 없애고, 자바스크립트를 이용한 매끈하고, 얇고, 더 매력적인 위젯으로 대체하려 한다. 태블릿 사용자들이 직면하는 문제는 두 가지이다. 자그마한 위젯들은 손가락으로 건드리기가 힘들 뿐 아니라, 태블릿 사용자들은 스크롤바를 이용하지 않는다(화면을 손가락으로 끌어서 스크롤을 한다). 따라서 커스텀 컨트롤을 강요하는 것은, 사용자 인터페이스를 혼란스럽게 할 뿐이다.

마찬가지로, 마우스를 제외한 다른 입력장치가 당연히 있을 것이라고 여기면 안된다. 예를 들면, 팝업 대화창은 항상 눈으로 확인할 수 있는 닫기 버튼이 있어야 한다. 스마트폰이나 태블릿은 키보드 입력기를 가지고 있을 수 있지만, Esc 키를 입력할 수 있는 경우는 별로 없다.

웹 UI 실수 3 : 너무 많은 스크롤 영역 보유 

작은 터치스크린을 통해 웹사이트를 보다 보면, 종종 전체 페이지를 보기 위해 스크롤을 해야 할 때가 있다. 하지만 앞서 언급했듯이, 태블릿 사용자는 손가락으로 화면을 끌어서 스크롤한다. 디자이너가 웹페이지를 여러 면으로 나누어 각각에 스크롤바를 배치하면, UI가 금방 지뢰밭이 되어버린다.

화면에서 사용자 손가락의 위치에 따라, 처음 끌기를 하면 특정 부분의 내용이 스크롤되다가 다시 한 번 더 끌기를 하면 다른 부분이 스크롤될 수도 있다. 가능하면 레이아웃을 단순하게 만드는 것이 좋으며, 그러지 못하더라도 최소한 사용자가 전체 페이지를 스크롤할 지 아니면 특정 부분을 스크롤할 지를 결정할 수 있도록 충분한 크기의 여백을 두어야 한다.

 

웹 UI 실수 4 : 경직된 텍스트 레이아웃

많은 그래픽 디자이너들이 정확한 픽셀 치수와 타이포 그래피 원칙을 통해 자신들의 웹사이트 레이아웃을 설명했다. 이런 방식이 웹 디자인을 위한 좋은 길이 아니기도 하지만(웹 상에서 사용자들은 브라우저 창이나 글자의 크기를 마음대로 조절할 수 있다), 스마트폰에서 볼 수 있는 사이트를 만들 때에는 특히 잘못된 방법이다.

예를 들면 안드로이드 브라우저는 기본적으로, 페이지의 CSS 스펙과는 상관없이, 텍스트의 단 폭을 기기의 화면 폭에 맞도록 축소시킨다. 이를 미리 고려하지 못하고 모든 디자인 요소들이 데스크톱 브라우저에서와 같이 배열될 것이라고 생각한다면, 이는 결국 스마트폰 사용자에게 커다란 빈 여백과 함께 컨트롤을 볼 수 없게 만들어 사용자 인터페이스를 어렵게 한다.

 

웹 UI 실수 5 : 특정 화면 형태에 대해 가정하기

한 웹 디자이너는 기술에 뒤처지지 않으려 하며, 사이트를 현대적인 와이드스크린 LCD에 최적화시켜서 필자를 흡족하게 만들었다. 하지만 오래된 모니터를 사용하는 사람들을 소홀히 하더라도, 모바일 사용자를 무시하면 기술의 최전선에 설 수 없다.

대부분의 스마트폰은 사용자가 기기를 들고 있는 방향에 따라, 자동적으로 수직(portrait)과 수평(landscape) 모드를 전환할 수 있다. 어떤 사용자들은 이런 자동 방향 전환(auto-pivot) 기능을 싫어하고 해제해 놓는다. 이런 경우에는 사용자가 디자인과 같은 모드를 사용하길 비는 것 외에는 방법이 없다. 페이지 형태에 대해서 미리 가정하는 것은 인쇄물 시장에서는 아무 문제가 없었지만, 사이즈를 미리 알 수가 없는 웹에서는 형편없는 선택이다.

 

웹 UI 실수 6 : 너무 많은 이미지를 미리 읽기

불쌍한 스마트폰 사용자에게 안타까움을 표한다. 인터넷 속도가 유선만큼 빠르지 않을 뿐 아니라, 통신업체들은 데이터 사용량에 상한선을 정하고 추가 사용에 대해 요금을 부과하고 있다. 게다가 스마트폰은 메모리가 한정되어 있다.

자바스크립트를 이용해 슬라이드쇼 이미지들을 미리 읽는 것이 데스크톱 브라우저에서는 괜찮을지도 모르지만, 스마트폰 이용자들에게는 조금 거슬릴 수 있다. 특히 사용자의 마우스가 특정한 컨트롤 위에 놓여졌을 때(태블릿 사용자들은 이를 사용할 방법이 없다) 그 이미지들이 나오도록 되어 있다면, 더욱 그렇다.

 

웹 UI 실수 7 : 플래시 사용

이런 말을 하고 싶진 않지만, 어도비 플래시는 여전히 모바일 기기에 발붙일 곳이 없다. 널리 알려진 대로, 애플의 iOS 기기들은 플래시 콘텐츠를 전혀 지원하지 않으며, 안드로이드 스마트폰조차도 좋지 않은 성능만을 제공한다.

더 슬프게도, 플래시 애플리케이션은 일반적인 HTML 사이트보다 훨씬 자주 UI 문제를 일으킨다. 어도비 팬에게는 유감이지만, HTML5의 출현과 함께, 웹에서 플래시를 볼 날은 얼마 남지 않았다.

물론, 이런 UI 문제를 회피할 다른 방법들이 존재한다. 모바일 기기를 위한 특별한 커스텀 버전의 사이트를 독립적으로 만들 수도 있다. 아니면 커스텀앱을 제작할 수도 있다. 하지만 이런 방법들은 나름대로의 문제를 가지고 있다. 기기에 묶여 있고, 미래가 보장되어 있지 않다. 여러 기기, 여러 플랫폼에서 같이 사용할 수 있는, 다시 말해 크로스 플랫폼, 크로스 디바이스 온라인 애플리케이션을 만들 수 있는 HTML의 잠재력을 얕보면 안된다. 최소한 지금 하는 디자인이 어떻게 보일지는 알고 있어야 할 것이다.




[출처] “태블릿과 스마트폰 시대”에 절대 피해야 할 웹 UI 7가지 (웹디들의커뮤니티카페 :: Dom FAM ::) |작성자 뜅구르

 

 

 

:

배열

script 2011. 4. 19. 10:12

방법1)

var menus = new Array(3);
menus[0] = "농구공"
menus[1] = "야구공"
menus[2] = "축구공"


방법2)

var menus = new Array("농구공", "야구공", "축구공");


방법3)

var menus = ["농구공", "야구공", "축구공"];


배열값의 변경

var menus = ["농구공", "야구공", "축구공"];
menus[0] = "탁구공";

'script' 카테고리의 다른 글

[Javascript ] IMG onerror 처리  (0) 2011.06.23
Method  (0) 2011.04.20
(예제 2) switch  (0) 2011.04.18
예제1  (0) 2011.04.18
javascript 2 논리연산자  (0) 2011.04.18
:

(예제 2) switch

script 2011. 4. 18. 17:12


<div id="text1"></div>

    <script type="text/javascript">
      var now =new Date();
      var time = now.getHours();

      switch(time) {
        case 10 :
          msg = "이벤트 시작  1시간 전입니다.";
          break;
        case 11 :
        case 12 :
        case 13 :
        case 14 :
          msg = "이벤트가 진행되고 있습니다. ";
          break;
        case 17 :
        case 18 :
        case 19 :
        case 20 :
          msg = "이벤트가 종료되었습니다.";
          break;
        default :
          msg = "4월 25일 11시에 이벤트가 시작됩니다. 놓치지 마세요.";
     }

      document.getElementById("text1").innerText = msg;
    </script>

'script' 카테고리의 다른 글

Method  (0) 2011.04.20
배열  (0) 2011.04.19
예제1  (0) 2011.04.18
javascript 2 논리연산자  (0) 2011.04.18
javascript 1  (0) 2011.04.18
: