Skip to content

Mini Help System with jQuery

Tip 조회 수 5625 추천 수 0 2013.01.23 15:10:56

a1.jpg

index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mini Help System with jQuery | Tutorialzine </title>

        <!-- Our stylesheet -->
        <link rel="stylesheet" href="assets/css/styles.css" />

    </head>
    <body>

        <div id="widget">

            <div id="header">
                <input type="text" id="search" placeholder="Search in the text" />
            </div>

            <div id="content">
                <!-- Your help text goes here -->
            </div>
        </div>​​

        <!-- JavaScript Includes -->
        <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
        <script src="assets/js/highlight.jquery.js"></script>
        <script src="assets/js/jquery.scrollTo.min.js"></script>
        <script src="assets/js/script.js"></script>
    </body>
</html>


assets/js/highlight.jquery.js

(function($) {

    var termPattern;

    $.fn.highlight = function(term, callback) {

        return this.each(function() {

            var elem = $(this);

            if (!elem.data('highlight-original')) {

                // Save the original element content
                elem.data('highlight-original', elem.html());

            } else {

                // restore the original content
                elem.highlightRestore();

            }

            termPattern = new RegExp('(' + term + ')', 'ig');

            // Search the element's contents
            walk(elem);

            // Trigger the callback
            callback && callback(elem.find('.match'));

        });
    };

    $.fn.highlightRestore = function() {

        return this.each(function() {
            var elem = $(this);
            elem.html(elem.data('highlight-original'));
        });

    };

    function walk(elem) {

        elem.contents().each(function() {

            if (this.nodeType == 3) { // text node

                if (termPattern.test(this.nodeValue)) {
                    // wrap the match in a span:
                    $(this).replaceWith(this.nodeValue.replace(termPattern, '<span class="match">$1</span>'));
                }
            } else {
                // recursively call the function on this element
                walk($(this));
            }
        });
    }

})(jQuery);



assets/js/script.js

$(function() {

    var search = $('#search'),
        content = $('#content'),
        matches = $(), index = 0;

    // Listen for the text input event
    search.on('input', function(e) {

        // Only search for strings 2 characters or more
        if (search.val().length >= 2) {

            // Use the highlight plugin
            content.highlight(search.val(), function(found) {

                matches = found;

                if(matches.length && content.is(':not(:animated)')){
                    scroll(0);
                }

            });
        } else {
            content.highlightRestore();
        }

    });

    search.on('keypress', function(e) {

        if(e.keyCode == 13){ // The enter key
            scrollNext();
        }

    });

    function scroll(i){
        index = i;

        // Trigger the scrollTo plugin. Limit it
        // to the y axis (vertical scroll only)
        content.scrollTo(matches.eq(i), 800, { axis:'y' } );
    }

    function scrollNext(){
        matches.length && scroll( (index + 1) % matches.length );
    }
});



profile

I see no changes, wake up in the morning and I ask myself

Is life worth living should I blast myself

Things would never be the same.

첨부
엮인글 :
http://adminplay.com/169206/80f/trackback

l2zeo님은 글작성 및 댓글 포인트 ...

2013.01.23 15:10:56
*.52.33.196

l2zeo님은 50포인트에 당첨되셨습니다.
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

Tip 마우스 드래그시 영역 색상 변경 [selection pseudo-element(dropped)] file

  • l2zeo
  • 2013-01-23
  • 조회 수 4237

Tip css 폰트 설정시 브라우저 제약없이 비슷하게 보이게 하는방법은?? file

  • l2zeo
  • 2013-01-23
  • 조회 수 5278

Tip 그누보드4(G4) 변수들

  • l2zeo
  • 2013-01-22
  • 조회 수 50192

Tip DTD(Document Type Definition) 란?

  • l2zeo
  • 2012-10-02
  • 조회 수 5259

Tip 서버이전후 Warning: Cannot modify header information - headers already sent by... 뜰때

  • l2zeo
  • 2012-09-30
  • 조회 수 7877

Tip 그누보드내에서 링크를 이용할때 \ 값이 자동 생성될때는?

  • l2zeo
  • 2012-09-30
  • 조회 수 5234

Tip SSL 보안인증 로그인,회원가입 적용하기 [1]

  • l2zeo
  • 2012-08-15
  • 조회 수 11802

Tip 출석시 과거 특정날짜 자동출석 인정하는 방법 - 미션출석부

  • l2zeo
  • 2012-03-12
  • 조회 수 9324

최적화 그누보드에서 효율적으로 디비에 쿼리수 줄이기

Tip 그누보드 회원 포인트 일괄삭제 하기 (mb_point + 포인트 내역)

Tip 오늘의 주인공 onfocus="this.blur();"와 a:visited를 소개합니다.

Tip 공지사항 리스트에 이중 출력 안되도록.

Tip 포인트 반복 차감 기간 제한

Tip 투표(설문) 새창 띄우기

플러그인 네이버 스타일 아웃로그인 스킨(?) file

Tip 효율적으로 디비 쿼리수 줄이기 Tip

플러그인 코멘트 Ajax 처리 - 아직도 코멘트(댓글)쓰고 전체 페이지 로딩되나요?

플러그인 게시물 순위를 이전과 비교해서 등수 출력 file

플러그인 게시판의 정렬을 이용한 최신글 file

플러그인 그누보드 내글 모니터 (쿠키 및 구글 스타일 변환) file

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234