<!--
        찾기
        document.getElementById(id)
                .getElementByTagName(name)
                .getElementsByClassName(name)
 
 

 

div 박스의 값을 id로 지정하고 그안의 p태그로 다시 값 조회할때 주의점...id가 아니 다른것은 유일한 것이 아니라서 여러개의 값을 주고 단 하나의 태그라고 하더라도 배열처럼 인덱스를 주어야만 원하는 값을 받는다.

----------------------------------------------------------------------------               .

        변경
        element.innerHTML   //태그안의 값을 반영해줌.
               .attribute=new value
               .style.property=new stlye
       요수 추가 및 삭제
        document.createElement(element) //개체생성
                .remeveChild(element)  //자식개체삭제하기
                .appendChild(element)   //자식개체 추가하기
                .replaceChild(new, old)  //old자식개체를 new개체로 변경
                .write(test)

    <div>

        <span id="childSpan"> foo바</span>
    </div>
    <script>
        //빈요소노드 생성,,,ID, 속성 콘텐츠 없다.
        const sp1=document.createElement("span");
        console.log(sp1); //span
        //'newspan이라는 id속성을 부여
        sp1.id="newSpan";
        console.log(sp1.getAttribute("id"));  // newSpan
        //일부 콘텐츠를 만듬
        const sp1_content=document.createTextNode("new replace");
        //새요소에 적용
        sp1.appendChild(sp1_content);
        console.log(sp1);  //<span id="newSpan">new replace</span>
        //교체할 기존 노드엔 대한 참조 작성
        const sp2=document.getElementById("childSpan");
        console.log(sp2); //<span id="childSpan"> foo바</span>
        const parentDiv=sp2.parentNode;  //부모 요소 지정
        console.log(parentDiv); //부모  div가 나옴...
        //기존 노드 sp2르,ㄹ 새 스펜요소 sp1로 교체
        parentDiv.replaceChild(sp1,sp2);

    </script>
 
foo바 가  new replace로 변경까지.

 

 

--------------------------------------------------

      속성
                .hasAttribute(name) //속성의 존재확인
                .getAttribute(name)  //속성값을 가져옴
                .setAttribute(attribute, value) ///속성값을 변경함.
                .removeAttribute(name)- //속성값을 제거함.
 

속성값을 2가지로 변경할수 있다.

1. setAttribute('속성명', '변경값')....

2. input. id='newId';  alert(input.getAttribute('id')); //newId 로 갱신된다.

그러나 value처럼 동기화 속성에서는 안먹힘으로 1번째 방법으로 하길 바람.

 

 

'JAVASCRIPT > 함수들' 카테고리의 다른 글

querySelectorAll  (0) 2022.08.28
addEnevtListener()메서드  (0) 2022.08.28
이벤트 처리: 마우스 지나가거나 클릭등  (0) 2022.08.28
정규표현식  (0) 2022.08.25
이벤트 중단방법  (0) 2022.08.25

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script>
function changeImage(){
var sel = document.getElementById("sel");
var img = document.getElementById("myImg");
}
</script>
</head>
<body>
<select id="sel" onchange="changeImage()">
<option value="images/Lemon.png">레몬</option>
<option value="images/Lime.png">라임</option>
<option value="images/Strawberry.png">딸기</option>
</select>
<img id="myImg">
</body>
</html>
<!-- * select 박스를 이용해 선택한 과일의 이미지가 화면에 나타나도록 하고자 코드를 작성하였다.
    이미지가 화면에 나타나도록 하나의 과일을 선택했지만 선택한 과일의 이미지가 나타나지 않았다.
    화면에 이미지가 나타지 않은 원인과 조치내용을 작성하시오.
-->
이미지파일을 넣기위해 문구수정을 하였음....

---------------------------------------

</style>
<script>
function changeImage(){    
var sel = document.getElementById("sel");  //select선택
var str='';// 옵션값 받을 변수
var img = document.getElementById("myImg");  //이미지 속성추가할 변수
console.log(sel.length);
for (let i=0;i<sel.length;i++){
    if(sel[i].selected) {  // 옵션선택시는 checked와 같은것인 select인데...해깔린다....
        str=sel[i].value;
        console.log(sel[i].value);  //확인
        img.setAttribute("src",sel[i].value);
        // img.setAttribute("src",str);  //속성추가는 set/ 확인은 get 다같은데......제대로 모르면 해깔림
        console.log(img.getAttribute("src"));  //잘들어갔틑지 확인
    }
   
}

}
</script>
</head>
<body>
<select id="sel" onchange="changeImage()">
<option value="/img/만두그라탕.jpg">레몬</option>
<option value="/img/오감자.jpg">라임</option>
<option value="/img/치치면.jpg">딸기</option>
</select>
<img id="myImg" >

</body>

'JAVASCRIPT > 예제들' 카테고리의 다른 글

애니메니션 : div가 div안에서 이동  (0) 2022.08.28
input 빈칸시 경고창띄우기  (0) 2022.08.28
정규표현식 2  (0) 2022.08.25
정규 표현식 예제1  (0) 2022.08.25
대소문자 변경예제  (0) 2022.08.25
     flex박스로  화면정렬 진행...
 
            flex-direction : row : 기본값 왼쪽에서 오른쪽
            flex-direction: row-reverse: 오른쪽에서 왼쪽
            flex-direction: columㅜ-reverse: 아래에서 위쪽 반대순이다.
 
            flex-wrap : nowrap ;그냥 한줄에 다 붙여라....wrap으로 하면 자동 줄빠꿈해라...
            wrap-reverse하면 반대로 밑에서...아래로..
 
            flex-flow는 direction와 wrap 를 합친것이다. column nowrap로 하면 세로정렬로 연결계속된다.
            justify - countent : flex-strat 왼쪽에서 시작....end는 순서는 유지 오른족에서 시작
            justify-content: space-around; 중앙정렬을 하는데 아이템에 감싸는 빈공간이 있다.
                   evenly 는 똑같은 간격이 생겨나고 between은 화면에 맞게 배치하고 간격조정
         
 
            align - items : center;는 수직축으로 중앙 정렬
            align-content: 자동으로 아이템을 줄 배치하게된다..
              space -between : 화면 맨위, 맨아래는 붙어 있으면서 중간아이템을 기준으로 공간이 생겨 정렬된다.
              center;센터에 모여서 정렬된다.
              모질라에 확인볼수 있다.
            - 아이템에따란 속성값을 다르게 줄수 도 있다.
            plex-grow :화면크기 변경에 따라 컨테이너를 채울려고 자동으로 커지거나 작아지거나 한다...
            plex-shrink: 화면크기가 작아져서 자동으로 작아지는데 순서에 따라 다르게 지정가능하다.
            plex-basis: auto; 화면에 따라 자동으로 변화하게 하는데 width에따라 100,,80,,60,,,%로지정가능
            align-self: center;....아이템 한개만 위치를 변경할수 있다.
 
            flexboxfroggy연습게임...

 

'CSS' 카테고리의 다른 글

이미지 td창에 맞추기  (0) 2022.09.13
마우스 커서 이벤트  (0) 2022.08.25
로그인폼 만들기  (0) 2022.08.25
메뉴바 반응 관련  (0) 2022.08.25
포지션 관련 문제. 화면에 위치 잡는것  (0) 2022.08.25

<!-- 아래의 요구사항을 반영하는 화면을 구현하는 코드이다. 하지만 화면 처럼 결과를 얻지 못했다.
    요구사항과 화면이 다른 원인과 조치사항을 작성하시오.
*  탭 메뉴 선택하기
   1. 이 문서를 처음 로드하면 런던탭의 색상이 #ccc로 표시된다.
   2. 런던으르 선택하면 id="London"의 내용이 나타난다.
   3. 다른 탭을 선택하면 이전에 선택한 내용은 사라지고 선택한 내용 1가지만 나타난다.
   4. 구현된 화면 이미지와 같이 선택한 탭만 버튼 색상을 '#ccc'로 설정한다.
* 구현된 화면 -->
<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

<!DOCTYPE html>

<html>

<head>

<style>

body {

font-family: Arial;

}

 

.tab {

overflow: hidden;

border: 1px solid #ccc;

background-color: #f1f1f1;

}

 

.tab button {

float: left;

border: none;

outline: none;

cursor: pointer;

padding: 14px 16px;

font-size: 17px;

}

 

.tab button:hover {

background-color: #ddd;

}

 

.tab button.active {

background-color: #ccc;

}

 

.tabcontent {

display: none;

padding: 6px 12px;

border: 1px solid #ccc;

border-top: none;

}

</style>

</head>

<body>

 

<p>탭 메뉴를 선택해 보세요</p>

 

<div class="tab">

<button class="tablinks">런던</button>

<button class="tablinks">파리</button>

<button class="tablinks">앙카라</button>

</div>

 

<div id="London" class="tabcontent">

<h3>런던</h3>

<p>런던 (영어: London)은 잉글랜드와 영국의 수도이다.</p>

</div>

 

<div id="Paris" class="tabcontent">

<h3>파리</h3>

<p>파리(Paris)는 프랑스의 수도이다.</p>

</div>

 

<div id="ankara" class="tabcontent">

<h3>앙카라</h3>

<p>터키의 수도이다.</p>

</div>

</body>

<script>

$(".tablinks:eq(1)").addClass("active");

$("#London").css('display', 'none');

$(".tablinks").click(function(event) {

selectedIndex = $(this).index();

$(".tabcontent").each(function(index, item) {

if (index == selectedIndex) {

$(item).css('display', 'none');

} else {

$(item).css('display', 'block');

}

});

$(".tablinks").each(function(index, item) {

if (index != selectedIndex) {

$(item).addClass("active");

} else {

$(item).removeClass('active');

}

});

});

</script>

</html>

 

수정된 코드

<!DOCTYPE html>
<html>
<head>
<style>
body {
 font-family: Arial;
}

 

.tab {
 overflow: hidden;
 border: 1px solid #ccc;
 background-color: #f1f1f1;
}

 

.tab button {
 float: left;
 border: none;
 outline: none;
 cursor: pointer;
 padding: 14px 16px;
 font-size: 17px;
}

 

.tab button:hover {
 background-color: #ddd;
}

 

.tab button.active {
 background-color: #ccc;
}

 

.tabcontent {
 display: none;
 padding: 6px 12px;
 border: 1px solid #ccc;
 border-top: none;
}
</style>
</head>
<body>
 
 <p>탭 메뉴를 선택해 보세요</p>

 

 <div class="tab">
  <button class="tablinks">런던</button>
  <button class="tablinks">파리</button>
  <button class="tablinks">앙카라</button>
 </div>

 

 <div id="London" class="tabcontent">
  <h3>런던</h3>
  <p>런던 (영어: London)은 잉글랜드와 영국의 수도이다.</p>
 </div>

 

 <div id="Paris" class="tabcontent">
  <h3>파리</h3>
  <p>파리(Paris)는 프랑스의 수도이다.</p>
 </div>

 

 <div id="ankara" class="tabcontent">
  <h3>앙카라</h3>
  <p>터키의 수도이다.</p>
 </div>
</body>
<script>  
    $(".tablinks:eq(0)").addClass("active");   // 런던탭의 색상이 #ccc로
    $("#London").css('display', 'none');
    $(".tablinks").click(function(event) {
        selectedIndex = $(this).index();      
        $(".tabcontent").each(function(index, item) {
            if (index != selectedIndex) {  // 같지 않으면
                $(item).css('display', 'none');
            } else {
                $(item).css('display', 'block');
            }
        });
        $(".tablinks").each(function(index, item) {
            if (index != selectedIndex) {
                $(item).addClass("active");
            } else {
                $(item).removeClass('active');  
            }              
        });
    });
</script>
</html>

 

양이 많아 압박받아서 그렇치 고칠곳든 2곳이였음...

<!-- * 모든항목선택 checkbox를 선택하면 취미관련 check박스를 모두 선택하거나 해제를 하고자 하는 코드이다.
하지만 모든항목선택 checkbox를 선택해도 원하는대로 동작하지 않았다.
해당 기능이 적용되지 않은 원인과 조치내용(해결방법)을 작성하세요. -->

 

   <!DOCTYPE html>
<html>
<head>
<script>
    window.onload = function() {
        var all = document.getElementById("all");
        all.addEventListener('click', function() {
            checks = document.getElementsByName("hobby");
            selected = false;
           
            for ( var i = 0; i < checks.length; i++) {
                checks[i].checked = selected;
            }
        });
    }
</script>
</head>
<body>
    <input type="checkbox" name="all" id="all" value="모든항목선택">모든항목선택
   
    <p>
        취미(중복선택) : <input type="checkbox" name="hobby" value="피아노">
        피아노
        <input type="checkbox" name="hobby" value="게임">게임
        <input type="checkbox" name="hobby" value="테니스">테니스
        <input type="checkbox" name="hobby" value="등산">등산
    </p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script>
    window.onload = function() {
        var all = document.getElementById("all");
        all.addEventListener('click', function() {
            checks = document.getElementsByName("hobby");
            selected = true;  //값변경했음.
           
            for ( var i = 0; i < checks.length; i++) {
                checks[i].checked = selected;
            }
        });
    }
</script>
</head>
<body>
    <input type="checkbox" name="all" id="all" value="모든항목선택">모든항목선택
   
    <p>
        취미(중복선택) : <input type="checkbox" name="hobby" value="피아노">
        피아노
        <input type="checkbox" name="hobby" value="게임">게임
        <input type="checkbox" name="hobby" value="테니스">테니스
        <input type="checkbox" name="hobby" value="등산">등산
    </p>
</body>
</html>

정답은 아주 간단했음......값만변경

UML표시....선과 기호의 색이 있고 없고 차이로 표시된다.......

1.Generalization(일반화) :일반적으로 알고 있는 상속을 의미/ 실선에 비어있는 세모

2.Realization(실체화) : interface를 오버라이딩하여 구현한것 / 점선에 비어있는 세모

3. Dependency(의존) : 클래스간의 참조/ 메서드내에서 대상클래스의 객체 생성하고나 사용, 리턴받아사용하는 것/ 호출이 끝나면 연관된 클래스와의 관계는 끝남/ 점선과 화살표

 

4.Association & Direct Association(연관) Association은 다른 객체의 참조를 가지는 필드를 의미함 둘의 연관관계가 어떻게 되는지 숫자로 표시할 수 있음

1- 1개 표현

*-0~ㅜ 개의 표현

n... m : n부터 m까지의 연관관계를 맺음

양방향 연관관계를 가지며 1(Board):n(Comment) 의 관계를 표시한 예제 

 

5.Aggregation(집합) & Composition(합성)

연관관계와 특수한 관계로 Association의 집합관계를 나타냄/ Collection이나 Array를 이용하는 관계 / 하지만 Association으로 충분이 나타낼수 있는 관계로 1:N 연관관계를 나타낸 것이다. Aggregation은 실선에 빈 다이아몬드

 

Composigition은 연관관계에서 강한 결합관계를 의미 / 참조하는 클래스의 라이프 사이클이 종속적/실선에 채워져 있는 다이아몬드

좀 억스스럽다.

'요구사항' 카테고리의 다른 글

클래스다이어그램 시험 정리  (0) 2022.09.02
클래스다이어그램 시험전 복습  (0) 2022.09.01
시퀀스다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 설명  (0) 2022.08.26

가장 기본적인 다이어그램 모습이다.

해본것에 의미를 둔다.....

<<analysisModel>> Analysis Model 선택후 add diagram선택하여 sequenceDiagram을 선택하면 되고

object 눌러서 화면에 박스 만들고

시간 순서대로 1.2.3.----줄줄히 그리면 되고

리턴은 선을 선택하면 general에서 General-> ActionKind의 값을 RETURN으로 변경하면된다.

해본것에 의의를 둔다....

잘모겠다.

 

이렇게 한다는 것인데.........

샘이 주신예제.........

 

사실 더 잘 모르겠다....아이구 머리아프다.

'요구사항' 카테고리의 다른 글

클래스 다이어그램 관계 : 예제들  (0) 2022.08.26
시퀀스다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 설명  (0) 2022.08.26
유스케이스 다이어그램 설명  (0) 2022.08.26
요구사항 개요 설명  (0) 2022.08.26

@클래스 다이어 그램
- UML의 한 종류
- 시스템을 구성하는 클래스들 간의 관계를 보여줌
- 시간에 따라 변하지 않는 시스템의 정적인 면을 보여줌

@접근제어자
1. public(+)      : 어떤 클래스의 객체에서도 접근 가능
2. default(~)      : 동일 패키지에 있는 클래스의 객체들만이 접근 가능
3. protected(#)  : 클래스와 동일 패키지 또는 상속관계 있는 하위 클래스의 객체들만 접근 가능
4. private(-)      : 글래스 내에서 생성된 객체들만 접근 가능

@ 클래스 다이어그램 관계
1. 일반화관계 Generalization--일반적인 상속관계 //extends
2. 실체화관계 Realization--인터페이스 관계//implements

 

3. 의존관계 Dependency-- 의존부터는 참조를 하기 때문에 혼돈스러움. class자체를참조하는 것은 비슷한데

      의존은 참조후 return 값이 있다. string이던 int이던 있는데 연관관계는 void형식으로 함수 이행은 있어도 따로 return값 있지 않는것이 가장 편한 예이나 모든것이 그런것은 아니다.

메소드에서 클래스를 매개변수로 사용하면 의존관계. 의존과 연관은 같이 나타 날수 있다.


4. 연관관계 Association-- 다른객체의 참조: 도메인등에서 보통 사용되며 게시판의 댓글등을 예상하면됨

양방향 관계를 가지며 리스트로 값을 받으면 그냥 연관관계이고 1:1이면 직접 연관이다.

포인토////클래스내에서 변수를 그냥 선언하고 사용하는 것이 연관관계
5. 집합... 합성(composition)관계-- 강한결합을 의미: 클래스명이 변경되면 참조되는 new 클래스명이 자동으로 변경되며 그동안 했던 controllerdhk serveic등의 관계를 생각하면됨. 합성중요

포인토//////클래스내에서 new생성자를 통해서 변수로 선언된다.

'요구사항' 카테고리의 다른 글

시퀀스다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 예제  (0) 2022.08.26
유스케이스 다이어그램 설명  (0) 2022.08.26
요구사항 개요 설명  (0) 2022.08.26
유스케이스 : 관계 표시 간단하게....  (0) 2022.08.26

@유스케이스 다이어그램
- 시스템의 기능적인 요구사항을 설명하기 위한 도구
- Actor와 시스템이 수행하는 활동간의 관계를 표시하며, 시스템의 기능적인 요구사항을 설명하기 위한 도구

@시스템의 범위(scope)
- 우리가 개발하고자 하는 시스템을 사각형으로 표시

@유스케이스
- 시스템이 어떤 서비스 또는 기능을 제공하는지 명세해 주는 것으로 타원형으로 표시
- 유스케이스 이름은 단순명료하게 기술
ex) 예금조회, 사용자 인증, 리뷰작성 등

@액터..<--졸라맨--> 
- 액터는 시스템 외부에 존재하며 시스템과 상호작용하는 모든 것
- 이벤트를 완결하기 위해 시스템과 상호 작용하는 개체
- 액터가 사람일 경우, 시스템과 상호작용하는 사용자에 의해 수행되는 역할(Role)을 나타냄

@액터의 종류
1. 프라이머리 액터(Primary Actor) <--사람-->
- 시스템을 사용함으로써 이득을 얻는 액터
- 보통 사람을 지칭하고사람모양으로 표기
- 보통 시스템 왼쪽에 표기
2. 세컨더리 액터(Secondary Actor) <-- 시스템-->
- 프라이머리 액터가 이득을 얻기 위해 도움을 주는 액터
- 보통 외부 시스템을 의미, <<actor>>로 표기
- 보통 시스템 오른쪽에 표기 -> 액터이름을 특정인으로 지정불가

@액터를 정의해야하는 이유
- 액터가 수행하는 역할은 유스케이스가 필요한 이유와 결과에 대한 관점을 제공
- 액터에 초저을 맞춤으로써, 시스템이 어떻게 구현될지가 아닌 시스템이 어떻게 사용될지에 집중하기 위함

@관계(Relationship)
-액터와 유스케이스, 유스케이스와 유스케이스 사이의 관계를 나타내며, 서로 상호 작용한다는 의미로 해석

@관계의 종류 <--보통 1,2,번 한다-->
1. 연관관계
- 유스케이스와 액터간 상호작용을 의미하는 관계
- 실선 화살표
2. 포함관계
- 한 유스케이스가 다른 유스케이스의 기능을 포함하는 관계(반드시 해야만 하는 관계)
- 점선 화살표    왼쪽에서 오른쪽-->
3. 확장관계
- 기본 유스케이스에 특정 조건이나 액터의 선택에 따라 발생하는 유스케이스(선택적으로 할수 있는 관계)
- 방향이 다른 점섬 화살표   <--오른쪽에서 왼쪽
4. 일반화 관계
- 유사한 유스케이스들 또는 액터들을 추상화한 하나의 유스케이스로 그룹핑으로 이해도를 높인 관계

'요구사항' 카테고리의 다른 글

시퀀스다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 예제  (0) 2022.08.26
클래스 다이어그램 설명  (0) 2022.08.26
요구사항 개요 설명  (0) 2022.08.26
유스케이스 : 관계 표시 간단하게....  (0) 2022.08.26

+ Recent posts