php sql 포문 안에
if($row["BoardIdx"] == '55') {
echo '<script>pre09();</script>';
}
해당 구문이 있으며, 동일 페이지 하단에
<script>
jQuery(function($) {
function pre09(){
swiper3.slideTo(9);
}
});
</script>
이렇게 적용을 하였는데 페이지를 띄우면 콘솔창에 pre09를 찾을 수 없다고 하는데 왜 그런걸까요?
답변 4개
$is_pre = false;
for($i=0;$row;$i++) {
if($row['BoardIdx'] == '55') {
$is_pre = true;
}
}
}
php가 실행되는 시점에는 javascript가 로드되지 않았기 때문에 함수를 찾을수가 없습니다.
<script>
function pre09() {
swiper3.slideTo(9);
}
var is_pre = <?php echo $is_pre;?>;
$(function() {
if(is_pre === true) {
pre09();
}
});
</script>
php가 먼저 실행을 하기 때문에, 자바스크립트 함수는 없는 것으로 인식이 될 것입니다. 그래서, 자바스크립트로 반복문 처리하셔야합니다.
쿼리로 반복문 처리된 부분을 php파일로 별도로 만드시고(값을 받을 수 있게 json형태로 변환..),
jquery ajax로 반복문 작성된 php파일을 호출하셔서 자바스크립트로 반복문을 처리하시면 되겠습니다.
jQuery(function() {}
이렇게 써보시구요
그리고 jquery 안에 함수를 넣으면 함수안에 함수를 구성한다고 해서 오류를 찾을수 없을것 같아요
그래서 따로 함수를 밖으로 빼시던지
아니면 jquery 함수를 따로만들어서 구성하시면 될것 같습니다.
function pre09(){
swiper3.slideTo(9);
}
이렇게 함수만 넣어보세요
답변을 작성하려면 로그인이 필요합니다.