묻고답하기
위젯 자바스크립트 질문입니다.
2015.02.01 21:13
자바스크립트를 사용해야하는 위젯을 제작중인데, 해당 위젯을 두개 이상 사용하면 문제가 생깁니다.
마지막에 로드된 스크립트로 덮어지는듯한 문제가 있습니다. 혹시 개발 노하우가 있으시면 알려주실 수 있으신가요 ??
댓글 3
-
LI-NA
2015.02.01 22:28
-
Dingsoft
2015.02.01 23:24
아~ 감사합니다.
-
총모아
2015.02.02 21:52
주로 위젯은 jquery를 이용을 하는데 jquery를 이용하는 스크립트같은 경우 css 태그에 id값을 이용하기 때문에!
저 같은경우는 $_news_ticker_id = "id_".(time()+mt_rand(1,99)*mt_rand(1,10)); 이런식으로 위젯마다 랜덤으로 전혀 다른 id값을 생성하게 해서 한 화면에 동일한 위젯을 사용하고 있습니다.대충 시스템은 이렇습니다.
{@
$_news_ticker_id = "id_".(time()+mt_rand(1,99)*mt_rand(1,10)); // 고유 id값에 적용할 변수를 랜덤으로 서로 다르게 생성할 목적에 변수 생성
}
<
<script language="javascript" type="text/javascript">
// <![CDATA[
jQuery(document).ready(function(jQuery) {
jQuery("#di{$_news_ticker_id}").amazon_scroller({ /* #아이디값만 별도로해서 여러개 사용가능 */
~~~~~~~~~~~~ 어저구 저쩌구 ~~~~~~~~~~~~
});
});
// ]]>
</script>
<div id="id어쩌구저쩌구{$_news_ticker_id}" class="id_scroller">
<div class="id_scroller_mask">
<ul>
<!--@foreach($widget_info->content_items as $key => $item)-->
내용
<!--@end-->
</ul>
</div>
</div>http://chongmoa.com는 제가 그냥 개인적으로 운영하는 페이지인데!
좌변과 우변모두 동일한 위젯이며, 중간 블로그api 밑에 있는 하단데 동영상을 불러오는 위젯도 동일하게 id값만 전혀 틀리게 랜덤으로 생성해서 하면 여러개를 동시에 한페이지에 돌릴수 있습니다.방법은 여러가지이지만 저같은 경우는 이게 정답은 아닌데 id란 고유값부분을 서로 다르게 인식하게 해서 운영하고 있습니다.
해당 스크립트가 로딩되었는지 판단하시면 됩니다.
글로벌 함수에다 임의의 변수를 등록해 (예, dinsoft_wiget_loaded = true) 해당 값이 true가 아닐때만 JS를 로딩하도록 하면 될 것 같습니다.
특정 js파일이 로딩되었는지 검사하는것도 있는것같은데 기억이 가물가물하네요 @_@