묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
jquery animate에서 콜론(:) syntax 에러 문의드립니다
2010.03.17 11:25
XE에서 jquery .animate() 효과를 사용할수 있는 방법을 찾고있습니다.
아래는 굉장히 간결한 스크롤링 코드입니다.
다른곳에서도 유용하게 쓰고있는데 XE레이아웃에 넣었더니 콜론(:) 구문에러가 납니다.
<script type="text/javascript">//<![CDATA[
var $j = jQuery.noConflict();
$j(document).ready(function()
{
var currentposition = parseInt($j("#bannerr").css("top"));
$j(window).scroll(function(){
var position = $j(window).scrollTop();
//$j("#bannerr").stop().animate({"top":position+currentposition+"px"},1000); <-- 다른곳에선 그냥 단순히 이렇게 쓰고있지만 XE에서 구문에러 납니다.
document.getElementById("bannerr").style.top=position+currentposition+"px"; <-- 이런식은 되지만 핵심인 애니메이션 효과가 없기때문에 여기서는 무의미 합니다.
});
});
//]]></script>
<div id="bannerr" style="position:absolute; width:80px; height:auto; top:10px; right:1px;"><a href="{$layout_info->bannerr_url}" target='_blank'><img src="{$layout_info->bannerr_image}" alt="{$layout_info->bannerr_alt}" /></div>
아래는 에러내용입니다.
Parse error: syntax error, unexpected ':' in /xe/classes/template/TemplateHandler.class.php(515) : eval()'d code on line 341
아래는 굉장히 간결한 스크롤링 코드입니다.
다른곳에서도 유용하게 쓰고있는데 XE레이아웃에 넣었더니 콜론(:) 구문에러가 납니다.
<script type="text/javascript">//<![CDATA[
var $j = jQuery.noConflict();
$j(document).ready(function()
{
var currentposition = parseInt($j("#bannerr").css("top"));
$j(window).scroll(function(){
var position = $j(window).scrollTop();
//$j("#bannerr").stop().animate({"top":position+currentposition+"px"},1000); <-- 다른곳에선 그냥 단순히 이렇게 쓰고있지만 XE에서 구문에러 납니다.
document.getElementById("bannerr").style.top=position+currentposition+"px"; <-- 이런식은 되지만 핵심인 애니메이션 효과가 없기때문에 여기서는 무의미 합니다.
});
});
//]]></script>
<div id="bannerr" style="position:absolute; width:80px; height:auto; top:10px; right:1px;"><a href="{$layout_info->bannerr_url}" target='_blank'><img src="{$layout_info->bannerr_image}" alt="{$layout_info->bannerr_alt}" /></div>
아래는 에러내용입니다.
Parse error: syntax error, unexpected ':' in /xe/classes/template/TemplateHandler.class.php(515) : eval()'d code on line 341
밑에 보시면 아시겠지만 {}는 xe에서 템플릿 스크립트로 사용되고 스크립트의 문법이 어긋나지 않는다면 해당 내용에 해당하는 php 구문을 실행하라는 명령입니다.
지금 여기서 나오는 에러는 템플릿 스크립트로 판단해서 나오는 오류구요.
자바스크립트 내용을 레이아웃에 직접 쓰지마시고 외부 파일로 <!--import--> 를 이용해서 쓰시면 간단하게 우회할 수 있는 내용입니다.