DOMSubtreeModified

 

많은 브라우저에서 사용 중지되었으며, 무한루프를 유발할 수 있습니다.

따라서 반드시 이벤트 제어가 가능한 상태에서 호환성을 위해서만 사용되어야합니다. 

 

셀럭터의 하위 오브젝트 변화를 감지합니다.

 

만약 변화가 있는 곳에 DOMSubtreeModified 를 사용했다면, 무한루프를 유발하여

브라우저가 교착상태가 일어나는 큰 위험이 있으니 주의하시길 바랍니다.

 

jQuery 라이브러리를 이용하여, 

jQuery(selector).one('DOMSubtreeModified ', function(){}) 을 써보는 것이 바람직하다고 생각합니다. 

 

See the Pen DOMSubtreeModified by Choidaeboem (@choidaeboem) on CodePen.

 

 

'Frontend' 카테고리의 다른 글

userAgent를 활용한 브라우저 감지  (0) 2019.01.11
[button]pulse 버튼 만들기  (0) 2019.01.10
[json] JSON 구조와 유효성 검사  (0) 2019.01.10
[ajax] ajax + promise  (0) 2019.01.10
[jQuery]스크롤 네비게이션  (0) 2019.01.10

JSON은 데이터 보관형식 중 한 방법으로

간단하지만 엄격한 구조를 가지고 있습니다.

 

본인이 읽고, 이해하기 쉽도록 편집해보았습니다.

 

IE 브라우저는 멍청한건지 엄격한건지 모르겠지만, 심심한 오류를 안내고,

모든 브라우저에서 json 오류를 없애려면 하단의 필수사항을 참고하는 것이 좋습니다.

 

[1] 필수사항

1. 문자열은 쌍따옴표로 감쌀 것 {"key":"value"}

2. 숫자열는 쌍따옴표 없이 기입

 

[2] 오류의 근원들

1.  ; <- 세미콜론

2.  , <- 쉼표 

3.  ' <- 작은 따옴표

 

[3] 사례

1. dataType 을 json 설정하고 실행 후 readySatus: 4 와 Status code: 200ok 를 리턴받고, ajax는 실패로 뜨는 경우

2. dataType 을 text 설정하고 실행 후 readySatus: 4 와 Status code: 200ok 를 리턴받고, 성공으로 했으나 response가 문자열이므로, 데이터로 쓰질 못함

 

JSON 데이터구조의 정확한 문서 → https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON

JSON 유효성 검사 → https://jsonlint.com/

 

 

 

See the Pen json 구조 by Choidaeboem (@choidaeboem) on CodePen.

 

'Frontend' 카테고리의 다른 글

[button]pulse 버튼 만들기  (0) 2019.01.10
[DOM]DOMSubtreeModified, 하위메뉴의 변화를 감지하자!  (0) 2019.01.10
[ajax] ajax + promise  (0) 2019.01.10
[jQuery]스크롤 네비게이션  (0) 2019.01.10
카운트 함수  (0) 2019.01.09

 

직접 만들어본 스크롤 네비게이션

다음엔 퓨어 자바스크립트로 해야겠다.

 

See the Pen GPYGRO by Choidaeboem (@choidaeboem) on CodePen.

 

'Frontend' 카테고리의 다른 글

[json] JSON 구조와 유효성 검사  (0) 2019.01.10
[ajax] ajax + promise  (0) 2019.01.10
카운트 함수  (0) 2019.01.09
[Array]some 메소드를 알아보자 !  (0) 2019.01.09
[jQuery] fadeIn 슬라이드 로직  (0) 2019.01.08

카운트다운 함수 필요할 때 쓰길 바람

 

chrome, safari, firefox

ie7 부터 edge+ 사용가능(양식은 무조건 지켜져야함. 구 브라우저로 갈수록 !)

 

See the Pen 카운트 함수 만들기 by Choidaeboem (@choidaeboem) on CodePen.

 

some 메소드는 Array에 쓸 수 있는 메소드중 하나이다.

some 메소드는 비교하고자 하는 배열( nameArray )에 찾는 값( findValue )이

하나라도 있다면 Boolean 값인 true, 하나라도 없다면 false를 반환한다.

 

See the Pen Array.prototype.some by Choidaeboem (@choidaeboem) on CodePen.

 

 

재직 중인 쇼핑몰에 사용되고 있는 슬라이드 로직입니다. (글작성기준)

개발 당시 캐러셀 라이브러리 중 요구하는 기능이 없어 fadeIn fadeOut 슬라이드를 만들어봤습니다.

 

요구사항

1. 자동 가운데 정렬

2. 반응형 사이즈

3. 하단 탭 올릴 시 자동 페이징

4. fadeIn fadeOut으로 페이지넘김

5. 이미지크기에 따라 높이값변경

6. IE 호환성검사 및 크로스브라우징(Chrome, IE9 기준)

7. 하단탭에 마우스오버시 시 해당 슬라이드 정지 

 

html(구조), css(표현), javascript(동작)의 조합이 엄청 중요하단 걸 깨우치게 한 과정이었습니다.

웹표준&웹접근성에 따라 다시 작성해야할 필요성을 느꼈고, 개발 후 굉장히 큰 산을 하나 넘은 기분이였습니다.

 

 

See the Pen fadeIn Slider 만들기 by Choidaeboem (@choidaeboem) on CodePen.

 

 

 

타도메인에 있는 json을 가져오는 방법 중 하나인 jsonp를 이용해보았다.

 

html

<button id="ajaxCallBtn" onclick="javascript:void(0)">getData</button>

 

script

<script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>

<script>

        $(document).ready(function() {

// ajax 구성

 

            function ajaxCall() {

                $.ajax({

                    url: "yourUrl",

                    dataType: "jsonp",

                    jsonpCallback: "jsonCallback"

                });

            }

 

            function jsonCallback(json) {

                loadData(json);

            }

 

            function loadData(json) {

                console.log(json);

            }

 

// ajaxCall를 실행하기위한 이벤트핸들러

            $("#ajaxCallBtn").on('click', function() {

                ajaxCall();

            });

        });

    </script>

4kb의 작은 정보저장소인 Cookie를 이용한 여닫이 슬라이딩.

일반 브라우저끄기, 일반 새로고침에도 초기값으로 돌아가지않아

반복적인 작업을 계속하지않아도 되어 유용함.

 

 

 

 

+ Recent posts