팁이라고 쓰고 꼼수라고 읽는...
다른 작업에 밀려서 머리 속으로 고민만 하던 것이 실제 구현을 해보니 의외로 빨리 풀렸습니다.
고민 과정에서 언제나 조언 주시고 도움 주신 전진님께 다시 한번 감사드립니다. :)
jquery 는 g4s 에서 사용 중인 1.8.3 버전을 기준으로 작업했습니다.
하이브리드 개발자님과 의논해보니, 이벤트핸들러 말고 클래스 바꿔치기도 되겠습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>테스트</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">
<meta name="HandheldFriendly" content="true">
<meta name="format-detection" content="telephone=no">
<script src="js/jquery-1.8.3.min.js"></script>
<style>
ul {margin:0;padding:0;list-style:none}
ul ul {display:none}
button {cursor:pointer}
</style>
</head>
<body>
<p></p>
<ul>
<li>
<button type="button">테스트</button>
<ul>
<li>
<a href="">테스트 서브</a>
</li>
</ul>
</li>
</ul>
<script>
// 무엇을 구현할 것인가?
// gnb
// 구조는 어떤가?
// ul > li > button
// ul > li > a
// 어떻게 동작하는가?
// min-width 970px 에서 button 클릭 시 페이지 이동 (script 이용하여 event 추가)
// 오버/포커스 시 서브메뉴 출력
// max-width 969px 에서 button 클릭 시 서브메뉴 출력
// PC 모바일을 검사하여 PC 면 + 포커스 오버 시 서브메뉴 출력 및 클릭해도 페이지 이동은 하지 않음 (예정)
$(function() {
$(window).load(function(){
var doc_width = document.width; // 문서 로드될 때 문서 넓이 감지
hdlr_switch(doc_width);
});
$(window).resize(function(){
var doc_width = document.width; // 리사이즈 될 때 문서 넓이 감지
hdlr_switch(doc_width);
});
function hdlr_switch(val) {
var hdlr = "";
if (val >= "970") {
hdlr = "mouseover focus";
} else {
hdlr = "click";
}
$("button").unbind();
$("button").bind(""+hdlr+"", function(){
$("ul ul").css("display", "block");
});
/* 970px 이상일 때만
$("button").click(function(){
$(location).attr('href','http://www.sir.co.kr');
});
*/
}
});
</script>
</body>
</html>
댓글 20개
enquire.js 를 사용하시는 방법도 있고, 위 탑스쿨님이 말씀하신 방법이나 저의 방법보다 더 많은 callback 기능을 포함했으면서도 놀랍게도 가볍습니다.
http://sir.co.kr/bbs/board.php?bo_table=pb_tip&wr_id=2578
modernizr 로 touch 기기인지 아닌지를 판별한 후 선택적으로 이벤트를 지정하는 방법도 있습니다.
http://modernizr.com/
여기에 RESS 까지 더하면 PC일 때, 모바일일 때를 구분하여 내용을 전송해줄 수도 있죠.
저도 아직 초짜인 상태에서 작업하려니 힘이 드네요. ㅠㅠ
화... 화이팅 ㅠㅠ
http://sir.co.kr/bbs/board.php?bo_table=pb_tip&wr_id=2578
modernizr 로 touch 기기인지 아닌지를 판별한 후 선택적으로 이벤트를 지정하는 방법도 있습니다.
http://modernizr.com/
여기에 RESS 까지 더하면 PC일 때, 모바일일 때를 구분하여 내용을 전송해줄 수도 있죠.
저도 아직 초짜인 상태에서 작업하려니 힘이 드네요. ㅠㅠ
화... 화이팅 ㅠㅠ
게시글 목록
| 번호 | 제목 |
|---|---|
| 11424 | |
| 20668 | |
| 11420 | |
| 20222 | |
| 11418 | |
| 11416 |
PHP
우분투 서버 셋팅하는 방법
1
|
| 11413 | |
| 11410 | |
| 11408 |
MySQL
트리거를 이용하여 날짜 자동 업데이트법
1
|
| 11407 | |
| 11402 |
MySQL
mysql 환경 설정
4
|
| 11397 |
JavaScript
달력소스입니다.
4
|
| 11385 |
PHP
웹사이트 주소 알아내기
11
|
| 11382 |
기타
오라클바인딩기술
2
|
| 11379 | |
| 20665 | |
| 11375 | |
| 11373 | |
| 11369 |
정규표현식
IE11에서 사라지는것들이랍니다~
3
|
| 11368 | |
| 20205 | |
| 11360 |
기타
웹접근성 인증 방법
7
|
| 11354 |
MySQL
my-sql 서브쿼리^^
5
|
| 11352 |
MySQL
기초적인 my sql 쿼리문~
1
|
| 11349 |
jQuery
xhtml vs json
2
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기