프프프

Front

31개 발견

jQuery 플러그인 제작 프로세스

0. 영역 내, $ 별칭 보호

(function(global, $){
    'use strict';
    // $ === window.jQuery
})(window, window.jQuery);

1. 플러그인 기본형 쉘 작성

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            // 플러그인 코드
        };
    }

})(window, window.jQuery);

2. 체이닝 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {

            // jQuery 체이닝 설정
            return this;
        };
    }

})(window, window.jQuery);

3. $.each() 유틸리티 메소드 활용

(function(global, $){
    'use strict';

    var plugin_name = '';

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index); // jQuery 인스턴스 객체

                // 플러그인 코드
            });
        };
    }

})(window, window.jQuery);

4. 객체지향 프로그래밍 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    // 생성자 함수
    var ConstructorFn = function(el) {
        this.el = el;
    };

    // 생성자 프로토타입 객체
    ConstructorFn.fn = ConstructorFn.prototype = {
        // 초기화 메소드
        init: function() {

        }
    };

    if ( !$.fn[plugin_name] ) {
        $.fn[plugin_name] = function() {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index);

                new ConstructorFn(el);
            });
        };
    }

})(window, window.jQuery);

5. 사용자정의/기본 옵션 설정

(function(global, $){
    'use strict';

    var plugin_name = '';

    var ConstructorFn = function(el, options) {
        this.init(el, options)
    };

    ConstructorFn.fn = ConstructorFn.prototype = {
        init: function(el, options) {
            // 사용자 정의 옵션 >> 기본 옵션 = 병합
            options = $.extend({}, $.fn[plugin_name].defaults, options);

            // 이벤트 메소드 실행
            this.events();
        },
        events: function() {

        }
    };

    if ( !$.fn[plugin_name] ) {
        // options - 사용자 정의 옵션 설정
        $.fn[plugin_name] = function(options) {
            var $this = this;

            return $.each($this, function(index, el){
                var _$item = $this.eq(index);

                // 생성자 함수에 options 전달
                new ConstructorFn(el, options);
            });
        };

        // 플러그인 초기 옵션 설정
        $.fn[plugin_name].defaults = {

        };
    }

})(window, window.jQuery);

출처: yamoo9/jQuery-Class

'Front > JavaScript' 카테고리의 다른 글

쿠키 만료 세팅  (0) 2017.02.15
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

출처: http://gent.tistory.com/4

'Front > JavaScript' 카테고리의 다른 글

jQuery 플러그인 만들기  (0) 2017.03.19
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

출처: http://gent.tistory.com/18

'Front > JavaScript' 카테고리의 다른 글

jQuery 플러그인 만들기  (0) 2017.03.19
쿠키 만료 세팅  (0) 2017.02.15
accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

See the Pen WRaGYY by parkjinhyung (@gutmate) on CodePen.


'Front > JavaScript' 카테고리의 다른 글

쿠키 만료 세팅  (0) 2017.02.15
지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다


'Front > JavaScript' 카테고리의 다른 글

지정한 문자 모두 치환하기 (replaceAll)  (0) 2017.02.15
accordion  (0) 2017.02.09
문자열 존재 확인  (0) 2016.12.12
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
HTML5 TABLE 접근성  (0) 2016.11.11
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

'Front > JavaScript' 카테고리의 다른 글

accordion  (0) 2017.02.09
count elements  (0) 2017.02.06
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
HTML5 TABLE 접근성  (0) 2016.11.11
변수 추가하기  (0) 2016.11.09
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

iOS10 viewport user-scalable 적용 불가 문제

애플은 iOS10의 사파리 브라우저에서 더이상 viewport user-scalable을 사용할 수 없도록 만들었다. 공식적으로 접근성을 위해서 적용시키지 않겠다고 발표했다.

To imporve accessibility on websites in Safari, users can now pinch-to-zoom even when a website sets user-scalable=no in the viewport.

Safari의 웹 사이트에 대한 접근성을 높이기 위해 웹 사이트에서 뷰어에 사용자 확장 가능 = 아니오를 설정 한 경우에도 사용자가 손가락으로 확대 / 축소 할 수 있습니다.

그럼에도 확대를 막고 싶다면 아래의 스크립트를 적용해주면 된다.



댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
1
div {top:20px; right:40px}


위와 같이 좌표값을 지정한 상태에서 

1
div{bottom:40px; left:20px}


이런 유형으로 고치려 하면 미리 지정해둔 좌표값을

1
div {top:initial; right:initial; bottom:40px; left:20px}


이렇게 초기화 시켜줘야 한다.

그러나 역시 IE에서 되지 않았다.


*IE를 위한 해결 방법

1
div {top:auto; right:auto; top:initial; right:initial; bottom:40px; left:20px}
cs

auto값을 추가적으로 주면 해결이 된다.



댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
  • Chrome 브라우저에서 box-sizing: border-box 를 사용했을 때 브라우저 줌 레벨이 100%보다 작다면, select 엘리먼트를 사용한 선택 옵션을 사용하는 데 문제가 발생한다.
  • IE 8은 min/max-width/height가 사용되었을 때 box-sizing : border-box 설정을 무시한다.
  • Safari 6.0.x에서는 display: table 로 설정된 요소에 box-sizing 속성이 적용되지 않는다.
  • IE 9는 해당 요소의 position : absolute | fixed일 때나, overflow: auto | overflow-y: scroll일 때, 스크롤바의 가로를 줄여버린다. (IE 9 will subtract the width of the scrollbar to the width of the element when set to position : abosolute/fixed, overflow: auto/ overflow-y: scroll)
  • Android 브라우저는 HTML select element의 가로, 세로 면적을 정확히 계산하지 못한다.
  • IE 8에서 min-width 속성은 해당 요소의 box-sizing 값이 border-box로 설정이 되어있어도, content-box에 적용이 된다.

출처: http://ccuram.tistory.com/27

댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
$(function(){
    /* li 중 최대 높이값으로 높이 통일하기 */
    var heightArr = [];
    $("ul li").each(function(){
        heightArr.push($(this).height()); // li 높이 값 배열에 담기
    });
    heightArr.sort(function(a, b){return b-a;}); // 내림차순
    // heightArr.sort(function(a, b){return a-b;}); // 오름차순
    $("ul li").height(heightArr[0]);  // 내림차순일 경우 최대값, 오름차순일 경우 최소값
});


'Front > JavaScript' 카테고리의 다른 글

count elements  (0) 2017.02.06
문자열 존재 확인  (0) 2016.12.12
HTML5 TABLE 접근성  (0) 2016.11.11
변수 추가하기  (0) 2016.11.09
유튜브 재생 제어  (0) 2016.10.31
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
/* table caption 입력 */
$(".table_wrap").each(function(){
    if (!$(this).find("caption").length){
        $(this).find(".table").prepend("<caption class=\"caption\"></caption>");
    }
    var txtSum = [];
    if ($(this).find("thead").length) {
        $(this).find("thead th").each(function(){
            txtSummary = $(this).text();
            txtSum.push(txtSummary);
        });
    } else {
        $(this).find("th").each(function(){
            txtSummary = $(this).text();
            txtSum.push(txtSummary);
        });
    }
    var txtDiv = txtSum.join(', ');
    var tit_tab = " " + $(".tab_menu a.on").text();
    if ($(this).find(".tit").length){
        var txt_tit = $(this).find(".tit").text();
        $(this).find("caption").text(txtDiv + " 순으로 구성되어 있는 " + txt_tit + tit_tab + " 목록입니다.");
    } else {
        var tit = $("#contentBox h3").text();
        $(this).find("caption").text(txtDiv + " 순으로 구성되어 있는 " + tit + tit_tab + " 목록입니다.");
    }
});
/* [end]: table caption 입력 */


'Front > JavaScript' 카테고리의 다른 글

문자열 존재 확인  (0) 2016.12.12
최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
변수 추가하기  (0) 2016.11.09
유튜브 재생 제어  (0) 2016.10.31
이벤트 버블링  (0) 2016.10.28
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

See the Pen gLaMyp by parkjinhyung (@gutmate) on CodePen.

'Front > JavaScript' 카테고리의 다른 글

최대값, 최소값 구하기 (arr sort)  (0) 2016.11.15
HTML5 TABLE 접근성  (0) 2016.11.11
유튜브 재생 제어  (0) 2016.10.31
이벤트 버블링  (0) 2016.10.28
레이어팝업 위치조정, 초점처리(for웹접근성)  (0) 2016.10.17
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다

See the Pen XNrPOp by parkjinhyung (@gutmate) on CodePen.

출처: 웹접근성연구소

댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다
1
2
3
4
5
6
7
8
9
// 유투브영상 재생
function btnOpenVideo() {
    $("#vedio").attr("src","https://www.youtube.com/embed/aaaaaa?autoplay=1");
    $(".ytp-large-play-button").trigger('click');
}
// 재생 종료
function btnCloseVideo() {
    $("#vedio").attr("src","https://www.youtube.com/embed/aaaaaa?autoplay=0");
}
cs


'Front > JavaScript' 카테고리의 다른 글

HTML5 TABLE 접근성  (0) 2016.11.11
변수 추가하기  (0) 2016.11.09
이벤트 버블링  (0) 2016.10.28
레이어팝업 위치조정, 초점처리(for웹접근성)  (0) 2016.10.17
스크롤 이동  (0) 2016.10.11
댓글 로드 중…

트랙백을 확인할 수 있습니다

URL을 배껴둬서 트랙백을 보낼 수 있습니다