자주 쓰는 기능이기에 간단한 javascript로 tab 기능을 구현해 보았음.


로직:

클릭이 일어났을 때 showtab() 함수를 돌리고 함수에 포함된 반복문으로 파라메터와 탭 번호가 같은지 대조하여 같으면 display: block;, 다르면 display:none; 으로 처리하도록 하였다.


Javascript

function showtab(a){

for(i = 0 ; i <=2 ; i++){

var target = document.getElementById('tab' + i)

if(i == a){

target.style.display = 'block';

} else {

target.style.display = 'none';

}

}

}



HTML

<ul>

<li><a href="javascript:;" onclick="javascript:showtab(0);">show first tab</a></li>

<li><a href="javascript:;" onclick="javascript:showtab(1);">show second tab</a></li>

<li><a href="javascript:;" onclick="javascript:showtab(2);">show third tab</a></li>

</ul>

<div id="tab0" class="tab">

first tab

</div>

<div id="tab1" class="tab">

second tab

</div>

<div id="tab2" class="tab">

third tab

</div>



CSS

ul {

list-style-type: none;

padding: 0;

}


li {

display: inline-block;

margin-right: 15px;

}

.tab {

width: 240px;

height: 240px;

text-align: center;

background-color: red;

color: #fff;

padding: 30px;

display: none;

}

#tab0 {

display: block;

}



결과는 아래 링크에서 확인할 수 있음.

codepen에서 보기

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
artfrige
베이스 연주는 건강에 좋습니다
받은 트랙백이 없고 , 댓글이 없습니다.
트랙백 주소 :: http://artfrige.com/trackback/389 관련글 쓰기
secret


19년전 1997년, 도키메모 1편을 한참 하던 시기라 새로운 후속작이 나온 줄 알고 게임샵에서 덥석 구매했던 게임. 당시엔 일어 실력이 짧았던 때라서 거의 아무 선택지나 막 고르던 시절이라 본작도 되는대로 플레이 했었던 기억이 난다. 결국 배드엔딩인지 해피엔딩인지 모를 엔딩을 봤었는데.. 생각난 김에 오랜만에 플레이를 해서 해피엔딩을 보았다.


도키메키 드라마시리즈 1편 무지개색 청춘은 운동부의 아이돌 니지노 사키가 주인공인 스핀오프 작품으로, 발군의 스토리텔링을 바탕으로 캐릭터의 매력을 극한으로 끌어올리고 있다. 본인도 96년도 도키메모 1편에선 무턱대고 후지사키를 찬양하다가 97년도에 이걸 플레이하고 나서 니지노의 팬으로 전향했으니 가히 명작이라고 칭할만 한 듯. 사실 도키메모 본편에서는 능력치 올리고 이사람 저사람 만나면서 호감도 관리나 했지 캐릭터의 세세한 성격이나 에피소드 묘사는 특정 이벤트를 제외하고는 거의 없었는데, 이런 스핀오프 작품으로 캐릭터를 입체적으로 묘사하고 성격을 정의하며 콘텐츠의 생명을 쭉쭉 연장시키는 코나미의 기술이 대단하다고도 할까.. 


이 작품에서 메인 히로인인 니지노 사키는 헌신적인 태도로 꾸준히 축구에 매진하는 주인공을 옆에서 도와주고 응원하는 역할로 등장한다. 플레이 내내 대사 하나하나를 꼼꼼히 읽으며 플레이 했다면, 플레이어 역시 그런 헌신적인 모습에 감정이입할 정도로 대사의 완성도, 화면의 연출력, 성우의 연기력까지 흠 잡을 곳이 거의 없다. 특히 플레이 후반부에 주인공이 어떤 사건으로 축구에 대한 의욕을 잃어버리고 낙심하자 마음을 돌리려 울음을 터뜨려가며 두 번째로 새끼손가락 약속을 하는 장면에선 살짝 감동...


아무튼 도키메모 팬, 특히 니지노 사키의 팬이라면 일본어를 공부해서라도 반드시 플레이 해 봐야 할 전설의 명작이라 평한다.

단 한가지, 단점이 있다면 대사가 어마어마하게 많다는 것.



끝.

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
artfrige
베이스 연주는 건강에 좋습니다
받은 트랙백이 없고 , 댓글이 없습니다.
트랙백 주소 :: http://artfrige.com/trackback/388 관련글 쓰기
secret

오늘부터 MySQL + PHP를 공부하기 시작.

PHP를 본격적으로 파기 전에 SQL을 좀 공부해 둬야겠어서 오픈 강좌를 보고 열심히 진행 중.

오늘은 기초적인 명령에 대해 학습하였고 아래는 그 스터디 노트들임.


데이터베이스 리스트 호출

mysql> show databases;


데이터베이스 사용

mysql> use NameOfDataBase;


데이터베이스 테이블 만들기

mysql> CREATE TABLE nameOfTable (

nameOfFirstRow dataType(lengthOfData) NOT_NULL AUTO_INCREMENT,

nameOfSecondRow dataType NULL,

PRIMARY KEY (theValue)

);

//NOT_NULL: NULL이 아니어야 됨, AUTO_INCREMENT: 자동 증가, PRIMARY KEY: 정렬 기준이 되는 값(인것 같음)



테이블 항목 조회하기

mysql> desc nameOfTable;


테이블 모든 항목 데이터 조회하기

mysql> SELECT * FROM nameOfTable;


테이블 일부 항목 데이터 조회하기

mysql> SELECT firstRowName, secondRowName FROM nameOfTable;


테이블 항목 데이터 추가하기

mysql> INSERT INTO nameOfTable (firstRowName, secondRowName) VALUES('firstColumnValue', 'secondColumnValue');


테이블 항목 일부만 조회하기

mysql> SELECT * FROM nameOfTable WHERE nameOfValue = theValue;

//nameOfValue의 theValue값을 가진 항목을 표시해라


테이블 항목 갱신(수정)하기

mysql> UPDATE nameOfTable SET nameOfValue = theValue WHERE primaryKeyValue = theValue;

//primaryKeyValue의 theValue항목 중 nameOfValue 항목의 값을 theValue로 고쳐라(갱신해라).


테이블 항목 삭제하기

mysql> DELETE FROM nameOfTable WHERE primaryKeyValue = theValue;

//primaryKeyValue의 theValue항목이 있는 열을 삭제해라.

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
artfrige
베이스 연주는 건강에 좋습니다
받은 트랙백이 없고 , 댓글이 없습니다.
트랙백 주소 :: http://artfrige.com/trackback/387 관련글 쓰기
secret

2010년에 쓴 공략글을 오랜만에 뒤적거리다 보니 루저들의 여신인 니지노 사키가 빠져 있길래 6년만에 부랴부랴 플레이 후 추가.

특성은 그야말로 근성덕후. 입학 초 기준 근성이 약 40쯤 되면 등장한다. 그 외에 클럽으로 축구 혹은 야구를 선택하면 매니저로 등장. 클럽 활동을 쭉 이어나가고 싶다면 성적 관리도 웬만큼 해 주자. 물론 니지노를 불러 낸 후 클럽을 그만 둬도 공략에는 지장 없으니 선택은 스스로. 데이트 시 선택지는 너무 닭살돋는 말은 삼가고 되도록 무난한 선택지를 고르면 된다. 특히 '열심히', '노력'등의 단어가 들어간 것을 고르면 베스트. 반응은 대체로 평이하나 크게 호감도를 까먹을 일도 없어서 자주자주 만나주면 공략은 순탄한 편.

생일 선물은 스테인리스 요리세트, 거인의 별 전집(!), 요리철인의 비디오 4편 순서대로 주면 베스트.


공략을 위한 목표 스탯은 아래와 같다.


운동: 100이상

근성: 120이상

용모: 80이상


이번 공략에서는 호감도도 상당히 높고 공략도 매우 순탄했는데 랜덤 이벤트(도시락 쳐묵쳐묵 하기 등)가 하나도 안떠서 조금 심심했음. 하다못해 스타디움에서 야구경기 이벤트라도 나왔으면 좋았을 뻔 했는데 그조차도 없어서 좀 아쉬웠다.


계속 보자!


저작자 표시 비영리 변경 금지
신고

WRITTEN BY
artfrige
베이스 연주는 건강에 좋습니다
받은 트랙백이 없고 , 댓글이 없습니다.
트랙백 주소 :: http://artfrige.com/trackback/386 관련글 쓰기
secret

1. 프로젝트에 사용하고자 하는 폰트의 원도(otf, ttf 등)를 drag&drop으로 가져온다. (본 예제에서는 Noto Sans CJK KR medium을 사용했다.)


2. 아래와 같이 프로젝트의 info.plist에 Font provided by application을 등록하고 폰트 이름을 아이템에 넣어준다.



3. viewDidLoad 에 아래 코드를 넣고 빌드하면 콘솔에 사용 가능한 폰트 이름이 출력된다.


for name in UIFont.familyNames() {

            print(name)

            if let nameString = name as? String

            {

                print(UIFont.fontNamesForFamilyName(nameString))

            }

        }



4. 아래의 코드를 추가하여 폰트와 크기를 정한다.


myTextView.font = UIFont(name: "NotoSansCJKtc-Medium", size: 12)


5. PROFIT!

저작자 표시 비영리 변경 금지
신고

WRITTEN BY
artfrige
베이스 연주는 건강에 좋습니다
받은 트랙백이 없고 , 댓글이 없습니다.
트랙백 주소 :: http://artfrige.com/trackback/385 관련글 쓰기
secret