반응형

[선택]


지정된 index값으로 select 하기

$("#selectBoxID option:eq(2)").attr("selected", "selected");


text 값으로 select 하기

$("#selectBoxID").val("텍스트값").attr("selected", "selected");


value값으로 select 하기

$("#selectBoxID").val("4");




[읽기]


선택된 셀렉트 박스 값 읽기

$("#selectBoxID option:selected").val();

$("select[name=name]").val();


선택된 텍스트 읽기

$("#selectBoxID option:selected").text();


선택된 위치(인덱스) 확인

var index = $("#selectBoxID option").index($("#selectBoxID option:selected"));




[추가]


처음에 추가

$("#selectBoxID").prepend("<option value='0'>Before Apples</option>");


끝에 추가

$("#selectBoxID").append("<option value='1'>Apples</option>");

$("#selectBoxID").append("<option value='2'>After Apples</option>");




[삭제] 


지정된 인덱스값의 item 삭제

$("#selectBoxID option:eq(10)").remove();


첫번째 아이템 삭제

$("#selectBoxID option:first").remove();


마지막 아이템 삭제

$("#selectBoxID option:last").remove();




[바꾸기] 


전부 바꾸기

$("#selectBoxID").html("<option value='1'>Some oranges</option><option value='2'>MoreOranges</option>");


해당 위치 바꾸기

$("#selectBoxID option:eq(1)").replaceWith("<option value='2'>내용1</option>");

$("#selectBoxID option:eq(2)").replaceWith("<option value='3'>내용2</option>");



 


[기타]


아이템 개수

alert(!$("#selectBoxID option").size());


선택된 옵션 앞의 아이템 개수

alert(!$("#selectBoxID option:selected").prevAl!l().size());


선택된 옵션 후의 아이템 갯수

alert(!$("#selectBoxID option:selected").nextAll().size());

반응형
Posted by Hippalus
,

반응형

asp에서 줄바꿈 코드값은 vbCrLf이며 이는 chr(13) & chr(10) = \r\n과 동일하다.

textarea 컨트롤 사용시 입력 그대로 DB에 들어간 경우 웹페이지에서 보여줄땐 


replace(dbData, vbCrLf, "<BR>")

이와 같이 바꿔주면 되겠다.


다른 팁으로 javascript에서 어쩌다 한번은 DB의 내용을 ASP 레코드셋에 담은 후 자바스크립트 배열에 집어 넣어 사용하게 되는 경우가 발생하는데

이때 그대로 사용하면 에러를 내뱉기 때문에 asp에서 \r\n으로 치환을 시켜줘야 사용이 가능하다.

replace(dbData, VbCrLf, "\r\n")

반응형
Posted by Hippalus
,

반응형

<input type="checkbox" name="a_day" class="a_day" value="일">

<input type="checkbox" name="a_day" class="a_day" value="월">

<input type="checkbox" name="a_day" class="a_day" value="화">

<input type="checkbox" name="a_day" class="a_day" value="수">

<input type="checkbox" name="a_day" class="a_day" value="목">

 <input type="checkbox" name="a_day" class="a_day" value="금">

<input type="checkbox" name="a_day" class="a_day" value="토">


$(document).ready(function() {

   var strData = "월, 화, 토";

    var arrDay = strData.split(',');

   

    $('.a_day').prop('checked', false); // 일단 모두 uncheck

   

    for (var nArrCnt in arrDay) {

                    $("input[name=a_day][value="+arrDay[nArrCnt]+"]").prop("checked",true);

    }    

});



반응형
Posted by Hippalus
,

반응형



Function in_array(element, arr)

    dim nArrCnt

  in_array = False

  For nArrCnt=0 To Ubound(arr)

     If Trim(arr(nArrCnt)) = Trim(element) Then

        in_array = True

        Exit Function      

     End If

  Next

End Function



dim a_day

a_day = "1, 3"


dim arrDay

arrDay = Split(a_day, ",")



if in_array("3", arrDay) then

   response.write "exist"

else

   response.write "not found"

end if

반응형
Posted by Hippalus
,

반응형

일반적으로 동일한 클래스명을 갖고 있는 링크가 있다 칠 경우

<a href='#' class='openView' url='view.asp' idx='1''>제목1</a>
<a href='#' class='openView' url='view.asp' idx='2''>제목2</a>


아래와 같이 each문을 통해 값을 처리하면 됨

    $(".openView").each(function(index) {

        $(this).click(function() {

            var url = "";

            url = $(this).attr('url') + "?idx=" + $(this).attr('idx');

        });

    });




하지만 ajax등 동적으로 데이터를 불러올 경우 이야기가 달라짐

for (nCnt = 0; nCnt < nDataCnt; nCnt++) {

   strData = strData + "<a href='#' class='openView' url='view.asp' idx='" + json.data[nCnt].idx + "'>" + json.data[nCnt].title + "</a>";

}


이 경우 each가 아닌  $(document).on의 click이벤트와 class명을 통해 받아와야 함

    $(document).on("click", ".openView", function(e) {

         e.preventDefault();

         var url = "";

         url = $(this).attr('url') + "?idx=" + $(this).attr('idx');

         alert(url);

    });

반응형
Posted by Hippalus
,

반응형


훌륭한 JSON Parser가 있어 소개부터 시작한다.

https://github.com/rcdmk/aspJSON

어지간한 웹 소스들이 그러하듯 이 github의 asp용 json의 라이센스는 MIT 무료라이센스되시겠다.


사용법도 간단하다.

그냥 select된 레코드셋 객체를 JSON객체에 넣어버리면 끝


먼저 aspJSON공개소스를 include

<!--#include virtual = "jsonObject.class.asp" -->


객체 생성

dim JSON

set JSON = New JSONobject


select하는거야 다들 하는거니 패스하고

이렇게 생성된 레코드셋 객체(rs)를 LoadRecordset을통해 할당해주고 Write해버리면 끝

JSON.LoadRecordset rs

JSON.Write()  


졸쉽 졸귀~



다음은

asp client에서 jQuery를 통해 AJAX로 (한때 에이잭스를 아작스라 콩글리쉬를 뽐내던 후임이 있었는데 급 떠오름 ㅎㅎ)    위에서 생성된 JSON을 불러오는 코드



// 위에서 select한 결과가 총 3건을 리턴한다 가정하고 조회 필드는 IDX, SUBJECT라 할때 아래와 같이

// json.data[배열].필드명 으로 하면 훌륭하게 alert이 찍히는것을 확인할 수 있다.

// 또한 조회된 레코드가 없는지 있는지 확인하려면 length로 조사하여 0이면 없다 0보다 크면 처리 해주면 되시겠다.

// alert(json.data.length);



// 아래 $("#btnCall").click을 통해 호출된 실질적인 AJAX 함수 구현 부분

function fnCall() {

$.ajax({

    type: "POST",

    dataType: "json",


    url: "list_loading.asp",

    data: "codeName=1",  //대충 코드값이 1인 녀석이라 칭하자.. 

    success: function(json) {

        alert(json.data[0].IDX + '\n\n' + json.data[1].IDX + '\n\n' + json.data[2].IDX + ' ');

        alert(json.data[0].BSUBJECT + '\n\n' + json.data[1].SUBJECT + '\n\n' + json.data[2].SUBJECT + ' ');

    },

    error: function(xhr, option, error) {

        alert(xhr.status);

        alert(error);

    }

});

}



 $(document).ready(function() {

        $("#btnCall").click(function(e) { // id가 btnCall이란 버튼을 클릭하였을 경우

            e.preventDefault();

            fnCall(); // AJAX 함수 호출

        });

    });

반응형
Posted by Hippalus
,

반응형

먼저 아래한글 파일을 워드로 바꿔보자자

https://www.microsoft.com/ko-kr/download/details.aspx?id=36772

가서 HwpConverter_x86 파일을 다운받아 설치 후 

C:\Program Files\Microsoft Office\Office15\BATCHHWPCONV.EXE 를 실행하면 이런 녀석이 나올터


알아서 경로 선택해주고 변환하면 일단 아래한글 파일을 워드로 변환이 가능해진다.

아래한글은 참... ㅡㅡ



그다음.. 문제

수식이 적용된 아래한글 파일을 워드로 변환하면 이렇게 1차원 형식으로 변환된 모습을 발견할 것이다.


하나 하나 클릭해서 2차원으로 바꿔줄 수 있지만 


한번에 바꿔주려면 전체 선택 후 수식도구(보라색)를 누르면 좌측 상단에 2차원 형식, 1차원 형식이 나타나게 되고 

이때 2차원 형식을 누르면 문서내 모든 수식이 2차원으로 바뀌는걸 확인할 수 있다.

사실 이 부분이 가장 찾기 어려웠다는 ㅡㅡ


그 밖에 아래한글의 수식을 PPT로 바꾸려면

이렇게 HWP -> WORD -> PDF -> PPT로 바꾸면 되는데

PDF를 PPT로 바꿔주는 서비스는 검색해보면 무료 툴이나 무료 웹서비스들이 존재하니 어렵지 않게 바꿀 수 있다.

내가 사용하는 무료 PDF TO PPT서비스는 아래 링크와 같다.

https://smallpdf.com/kr/pdf-to-ppt









반응형
Posted by Hippalus
,

반응형

아이폰이나 안드로이드 모바일 대전 게임은 그래픽은 뛰어나지만 단순히 가위바위보 수준의 시스템이 주를 이루고 있었다.

하지만 fie swordplay는 다르다.

여타의 가위바위보 수준에 머무르지 않고 펜싱이란 정적이면서도 격렬한 스포츠 성격을 그대로 모바일로 옮겨왔으며, 부수적인 시스템(게이지)을 통해 부족한 부분을 채워주고 있기 때문이다.

다운로드 링크 : 앱스토어  구글플레이스토어



일주일 가까운 시간동안 정신없이 해버렸더니 클리어 하고 난 이후 이젠 수집욕 때문에 계속 붙잡고 있는 게임이며 당신도 나와 똑같은 경험을 하게 되리라 굳게 믿어 의심치 아니한다.
fie swordplay2도 나오지 않을까...


일단 게임 로딩은 다소 길다.
게임의 구성은 여타 카카오게임처럼 게임을 할 수 있는 횟수를 소모하여 게임을 하고 횟수를 시간이 지나면 자동으로 채워진다.
캠페인을 통해 레벨업을 하면 각종 신기술을 선택할 수 있는 한편 레벨에 따른 장비를 구입할 수 있다.
또한 게임에서 이기면 머니를 벌게 되고 이 머니를 통해 칼이나 마스크와 같은 장비 착용시 능력치가 오른다.
또한 동전 모양의 화폐도 레벨업을 통해 자연스럽게 모으거나 PVP 토너먼트 등을 통해 모을 수 있는데 깃발 구입시 사용하게 된다.
깃발엔 다양한 능력을 부여하므로 반드시 사야 한다.
그렇게 레벨업을 하면 다음 스테이지로 도전할 수 있는 보스 스테이지가 있고(보스스럽지도 않음 ㅡㅡ) 이걸 클리어 하면 다른 도시로 이동하게 되는 그딴 구조의 게임이다.


1.메인

로딩 후 메인 화면 구성은 다음과 같다.
상단엔 캠페인모드를 수행할 수 있는 횟수, 토너먼트 모드를 수행할 수 있는 횟수
좌측 상단엔 내 레벨
우측 상단엔 장비를 구입하거나 깃발을 구입할 수 있는 돈과 화폐
좌측엔 캠페인 모드와 토너먼트모드 이동 버튼
우측엔 환경설정과 게임을 진행하며 자연스럽게 취득할 수 있는 트로피
하단엔 장비구입 및 착용, 사용기술, 퀘스트를 진행하는 클럽


2.캠페인

일단 캠페인 모드를 들어가면 무슨 게임을 할지 3개씩 나타난다.
시계모양은 정해진 시간내에 고득점자가 승리
3에 칼 모양은 3번 먼저 찌르는 자가 승리
그딴식


게임 내부는 좌우로 이동과 현재 선택된 기술 3가지(방어1, 공격2) 버튼으로 구성된다.


게이지가 보이는데 시간이 지나면 자동으로 차게 되고 녹색게이지 이상 다다른 상태에서 공격을 하게 되면 상대방은 가드를 할 수 없기 때문에 무조건 공격 성공, 반대로 상대가 날 찌른 상태에서 가드가 없었다면 상대의 공격은 무효가 되는 필살 게이지이다.

기술은 여러가지가 존재하는데 본 화면 캡쳐의 가드 기술은 뒤로 빠르게 이동하는 기술이다.
단순히 막는 기술도 있고 반격기가 자동으로 발동되는 방어 기술도 존재한다.
사실상 반격기는 가드만 대충 되면 무적이라 보면 된다.
조금은 이부분이 아쉽긴 하지만 난이도 때문에 빡치지 않게 만드는 요소라 생각한다.


달려드는 공격을 시도!
이때를 노리는거야!


상대의 칼질에 당하면 상대는 덩실덩실


캠페인에서 이기면 돈과 기술 점수 그리고 경험치를 부여받게 된다.


반대로 지게 되도 조금이지만 경험치와 돈과 기술점수를 받는다.


이기게 되면 현란한 리플레이를 감상할 수 있지만 대부분 스킵!


캠페인 모드에선 비트매니아와 같이 단순 타이밍 터치 게임도 존재한다.
참고로 이거 캡쳐할 때 조금 고생했다. 
밀려드는 커맨드들과 캡쳐를 동시에 하려하니....


3.PVP

토너먼트 모드가 기분 째지는 이유는 보상이 어마어마하기 때문이다.
토너먼트를 지속하여 500포인트를 얻으면 1000머니, 5000머니,15골드를 얻을 수 있다.
또한 우측에 Contracts처럼 미션에 성공하면 추가 보상도 가능하다.
이 Contracts는 미션 완료시 일정 시간이 지나면 새로운 Contract를 진행할 수 있고 
만약 마음에 들지 않으면 X버튼을 통해 새롭게 부여받을 수도 있다.
자주 페이스북 친구와 대전을 하라 하는데... 페북을 잘 안하는 나는 그냥 X로 다음 미션을 부여받는다.
이럴 경우 대기시간은 대부분 1시간~4시간 사이로 이루어진다.


fie swordplay의 유일한 단점
바로 PVP모드 수행시 초장부터 저렇게 매칭이 느리다란 점
그리고 매칭도 좀 에러 매칭.. 너무 쉬운 상대들만 골라진다는 점이라 게임의 재미를 좀 줄이는 요소가 아닐 수 없다.


매칭이 되면 En garde!를 눌러 대전을 진행하면 된다.
하지만 사람과 직접 실시간으로 하는 대전은 아닌 그냥 인공지능과 한다고 보면 된다.


4.Repertoire(사용기술)

레벨업이 되면 그에 따라 신기술 그룹이 오픈된다.
대부분 훌륭한 기술들이지만 반격기가 있는 기술들이 수월하다.
게임 자체가 어렵지 않으므로 그냥 오픈되면 오픈되는 대로 선택해서 마스터 컬렉팅을 즐기면 된다.


5.Equipment(장비)

먼저 깃발을 보면 난 요 깃발이 가장 마음에 든다.

플레이 가능한 횟수를 +3으로 늘려주기 때문이다.


해골 깃발도 있는데... 그냥 간지일 뿐

마스크, 상의, 하의 같은건 세트로 맞추면 추가 보상이 이루어진다.
+5 Set items equipped


6.기타


게임 플레이 카운트를 모두 소진하면 남은 리필 타임을 알려주거나 골드를 통해 리필 할 수 있지만 굳이 그럴 필요가 없을 정도로 리필도 잘 되고 소진하기도 바쁘기 때문이다.


트로피들도 신경써가며 하나하나 모으기보다는 그냥 달성하면 알려주니 그때그때 그냥 보상 받으면 끗~


클럽 퀘스트도 마찬가지

그냥 시간되면 완성되었다고 알람뜨고 그거 보상 수락하고 또 다시 퀘스트 진행하고.. 반복 반복...


클래시오브클랜 이후로 1주일 이상 붙잡는 게임이 없는데...
펜싱게임 : fie swordplay만큼 사람을 붙잡는 게임은 드문듯 싶다.

여기까지 펜싱게임 fie swordplay 공략 끝~

반응형
Posted by Hippalus
,

반응형

불투명하게 바탕을 깔고 그 위에 모달형태의 팝업창을 띄울때 요긴한 소스




STEP1. 파일명은 jquery-popup.js라 명명하고 소스 카피 페이스트 저장해둠

만약 불투명도를 90%에서 덜 불투명하게 즉 배경이 더 보이게 하고 싶다면 opacity = "0.9"; 부분을 0.1에 가깝게 조정하면 됨


function fnIframePopUp(s, w, h) {

    //레이어를감싸고있는div

    var ifrObj = document.createElement("div");

    with (ifrObj.style) {

        display = "none";

        position = "fixed";

        _position = "absolute";

        left = "0";

        top = "0";

        width = "100%";

        height = "100%";

        zIndex = "10000";

    }

    ifrObj.id = "iFrameWrapLayer";

    document.body.appendChild(ifrObj);


    //bg

    var obj = document.createElement("div");

    with (obj.style) {

        position = "absolute";

        left = 0;

        top = 0;

        width = "100%";

        height = "100%";

        backgroundColor = "#000";

        filter = "Alpha(Opacity=50)";

        opacity = "0.9";

    }

    obj.id = "iFrameBg";

    document.body.appendChild(obj);


    //실제layer

    $("#iFrameWrapLayer").append($("#iFrameBg").add($("<div id='iFrameMainLayer' style='position:absolute; top:50%; left:50%; background:#fff; padding:10px 10px 5px 10px; border:4px solid #ddd;'><iframe name='ifr' id='ifr' width='" + w + "' height='" + h + "' frameborder='0' src='" + s + "'></iframe></div>")));


    //레이어팝업위치조정

    $('#iFrameWrapLayer').fadeIn();

    var temp = $('#iFrameMainLayer');

    if (temp.outerHeight() < $(document).height()) temp.css('margin-top', '-' + temp.outerHeight() / 2 + 'px');

    else temp.css('top', '0px');

    if (temp.outerWidth() < $(document).width()) temp.css('margin-left', '-' + temp.outerWidth() / 2 + 'px');

    else temp.css('left', '0px');

}


// 팝업창에서 닫기 

// 팝업창에서 함수호출방법 : parent.fnCloseIframePopUp();  

function fnCloseIframePopUp() {

    $("#iFrameWrapLayer").remove();

}


//부모reload

// 팝업창에서함수호출방법 : parent.fnCloseIframePopUp(); 

function fnCloseIframePopUpReload() {    

    parent.location.reload();

}

STEP2. step1에서 저장한 js 파일 부모창에서 불러옴

<script type="text/javascript" src="jquery-popup.js"></script>


STEP3. 부모창에서 모달팝업 호출할 링크 작성 후 jQuery 작성(jquery-popup.js의 함수 호출)

<a href="#" class="open1" url="popup1.asp" width="500" height="754">1번 팝업 호출</a> 

<a href="#" class="open2" url="popup2.asp" width="500" height="776">2번 팝업 호출</a> 


<script>

    $(document).ready(function() {

        // 1, 2 링크 클릭

        $('.open1, .open2').click(function(e) {

            e.preventDefault();

            fnIframePopUp($(this).attr('url'), $(this).attr('width'), $(this).attr('height'));

        });

    });

    </script> 


STEP4. 호출된 모달팝업에서 배경과 모달팝업 닫기

<a href="#" id="closeModal">닫기</a>


    $(document).ready(function() {

        $('#closeModal').click(function(e) {

            parent.fnCloseIframePopUp();

        });

    });



이 글을 보고 있는 조선인에게 알림.

제발 좀 다른 맛집블로그도 아닌 기술 문서 블로그에 퍼가기 금지 설정 좀 하지 말자.

늬들은 어디서 복사해온 자료가 아닌 순수 본인 머리에서 나온 자료들로만 채워놓았냐?

세상 모든 웹사이트들을 돌아다녀봐라

조선처럼 긁어가지못하게 운영되는 기술 블로그가 있는지!

꽁꽁 붙들어 놓고 싶으면 차라리 비공개로 쓰던가

반응형
Posted by Hippalus
,

반응형


쓰레기 수준의 내구도를 자랑하는 아이폰 단자
아이폰 4,5,6까지 사왔지만 고객에게 비용을 추가 지출 요구해대는 아이폰
이젠 아이폰이 아닌 아닌폰이 되가고 있기에
진심 앞으로 저 쓰레기 단자를 고집한다면 지금 쓰고 있는 6를 정말 정말 오래토록 쓰게 될것 같음

반응형
Posted by Hippalus
,