- 12
- 모니터
- 조회 수 329
재미있는 것이 맞는지는 모르겠지만.. XE타운 좀 따라해봤어요.
좋은 아이디어인것 같아서.. 일단 비효율적인 코드를 정리하고 싶은데 도움 좀 부탁드려요~
일단 이놈입니다. 개인적으로 쓰려고 위젯으로 만든거라 단순하게 제 사이트에 맞게 디자인 한 겁니다 ㅎㅎ
XE타운에도 물어봤는데.. 영 답을 얻기가 어려워서 훨씬 활발한(?) 이 사이트에 조언을 구합니다!
아래는 위젯의 핵심 코드 중 하나 입니다~
보시는 것 처럼 각 변수에 값을 매기고 싶어서 같은 코드를 중복으로 사용하고 있어요.
이게 1~2가지면 문제 없는데 2개 이상인 경우 보기가 the love 잖아요.
어떻게 이 소스를 줄이면 좋을까요?~ 아이디어 주세yo~ 뿌우!
stf_pgr= '#'; stf_pgr2= '#';
var clr= ['6475A0', '5e5f67', 'c37070', 'bf7aa3'];
stf_pgr+= clr[Math.floor(Math.random() * clr.length)];
stf_pgr2 += clr[Math.floor(Math.random() * clr.length)];
$('.ad_shortcut_bg_bt_btn').css({ "background": stf_pgr});
$('.ad_shortcut_bg_bt_btn2').css({ "background": stf_pgr2});
헤헷.
작성자
댓글 12
크게 2가지 방법이 있겠네요. 저 기능을 하는 코드를 따로 함수로 만들어서 관리를 하는 방법이 있고, 아니면 배열과 for문을 조합하는 방법이 있습니다.
배열로 만드는걸 저도 생각했었긴한데..흠..
어떻게 짜면 되는지 모르겠어요 ㅠㅠ
도와주실 수 있을까요?~
일단 .ad_shortcut_bg_bt_btn, .ad_shortcut_bg_bt_btn2 원소에 .ad_shortcut_btn 클래스도 추가해준다음 아래 코드를 사용하시면 됩니다.
(function(){
var clr = ['6475A0', '5e5f67', 'c37070', 'bf7aa3'];
var elem = $('.ad_shortcut_btn');
for (var i = elem.length - 1; i >= 0; i--) {
$(elem[i]).css({"background": "#" + clr[Math.floor(Math.random() * clr.length)]});
}
}());
옹. . 나중에 한번 해볼게요! 감사합니다>_<
즉 https://jsfiddle.net/Leqp7po3/ 이런 식으로 되면 됩니다.
적용했습니다! 감사합니다!!! 잘 작동하네요 ㅎㅎ
덕분에 짧은 코드만으로 이렇게 작동이 되네요 b
var알못이라 ㅋㅋ
새글 알림 모듈은 여기서도 사용중입니다.
그렇네요 ㅠㅠ..
New버튼을 메뉴가 뒤가 아니고 앞으로 출력하고 싶은데..
어떻게 하면 될까요? ㅠㅠ.. controller.php 에서 float:left; 하면 위치가 안 맞고..ㅠㅠ
나중에 한번 살펴볼게요. 지금은 저도 볼만한 상황이 아니라서 ㅋㅋ
무엇보다 저도 잘 몰라요 ㅋㅋㅋㅋㅋㅋㅋ
네 ㅜㅜ 감사합니다 ㅜㅠ
그리고 혹시 new 메뉴 모듈 쓰시는 분 있다면 질문 좀 하고 싶습니다! (쓰시는 분은 손 흔들어주세요~)