자바교수님께

자바교수님께

QA

자바교수님께

본문

교수님, 배우는 학생입니다.

 

01버튼   02버튼   03버튼   04버튼~~ 이런식으로 있는데

 

아래는 버튼을 누르면 패널이 열리고 닫히는

자바코드입니다.

 

01버튼을 누르고 다시 02버튼을 누르면 

01누르고 열린 패널이 02 클릭 때문에 닫혀버립니다.

 

저는 01누르고 열린 상태에서 이 버튼들 바깥 영역을 클릭하면 닫히지만

02버튼을 누르면 닫히지 않는 상태가 되게 하고 싶습니다.

 

연이어 01 03 04버튼을 누를 수 있는데...

단지 버튼을 누르면 열렸다 닫혔다 하기 때문에 많이 불편합니다. 유유

 

 

 

// This is just a sample script. Paste your real code (javascript or HTML) here.
if ('this_is' == /an_example/) {
    of_beautifier();
} else {
    var a = b ? (c % d) : e[f];
}(function(e) {
    "use strict";

    function r(e, r) {
        var i = e.outerWidth(true),
            s = {},
            o = {};
        if (e.is(":visible") || n) {
            return
        }
        n = true;
        e.addClass("ps-active-panel").css({
            position: "fixed",
            top: 0,
            height: "100%",
            "z-index": 999999
        });
        e.data(r);
        switch (r.side) {
            case "left":
                e.css({
                    left: "-" + i + "px",
                    right: "auto"
                });
                s["margin-left"] = "+=" + i;
                o.left = "+=" + i;
                break;
            case "right":
                e.css({
                    left: "auto",
                    right: "-" + i + "px"
                });
                s["margin-left"] = "-=" + i;
                o.right = "+=" + i;
                break
        }
        t.animate(s, r.duration);
        e.show().animate(o, r.duration, function() {
            n = false
        })
    }
    var t = e("body"),
        n = false;
    e.panelslider = function(t, n) {
        var i = e(".ps-active-panel");
        var s = {
            side: "left",
            duration: 200,
            clickClose: true
        };
        n = e.extend({}, s, n);
        if (i.is(":visible") && i[0] != t[0]) {
            e.panelslider.close(function() {
                r(t, n)
            })
        } else if (!i.length || i.is(":hidden")) {
            r(t, n)
        }
    };
    e.panelslider.close = function(r) {
        var i = e(".ps-active-panel"),
            s = i.data("duration"),
            o = i.outerWidth(true),
            u = {},
            a = {};
        if (!i.length || i.is(":hidden") || n) {
            return
        }
        n = true;
        switch (i.data("side")) {
            case "left":
                u["margin-left"] = "-=" + o;
                a.left = "-=" + o;
                break;
            case "right":
                u["margin-left"] = "+=" + o;
                a.right = "-=" + o;
                break
        }
        i.animate(a, s);
        t.animate(u, s, function() {
            i.hide();
            i.removeClass("ps-active-panel");
            n = false;
            if (r) {
                r()
            }
        })
    };
    e(document).bind("click keyup", function(t) {
        var n = e(".ps-active-panel");
        if (t.type == "keyup" && t.keyCode != 27) {
            return
        }
        if (n.is(":visible") && n.data("clickClose")) {
            e.panelslider.close()
        }
    });
    e(document).on("click", ".ps-active-panel", function(e) {
        e.stopPropagation()
    });
    e.fn.panelslider = function(t) {
        this.click(function(n) {
            var r = e(".ps-active-panel"),
                i = e(this.getAttribute("href"));
            if (r.is(":visible") && i[0] == r[0]) {
                e.panelslider.close()
            } else {
                e.panelslider(i, t)
            }
            n.preventDefault();
            n.stopPropagation()
        });
        return this
    }
})(jQuery)

이 질문에 댓글 쓰기 :

답변 2

음 원하시는 코드 자체를 구글에서 검색후 비교해보면서 해답을 찾으면

 

이해되실듯하네요!

대부분  위 코드만 보고 말씀하신 문제점을 찾기 어렵습니다

눈으로 위 스크립트를 보고 머리속으로 동작을 생각하는 사람이 과연 몇명이나 있을까요..

 

위 스크립트 출처나, 동작하는 뷰를 볼수있게 링크를 주시는 방법도

좋은답변이 달리기에 유리할거예요.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,611 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT