메인화면 슬라이드 오류 질문 드립니다

메인화면 슬라이드 오류 질문 드립니다

QA

메인화면 슬라이드 오류 질문 드립니다

본문

<현재 상황>

메인 화면에서 일부 게시판들만 모아서 슬라이드로 표시하려고 합니다.

case1) startSlide: 0 설정 후 홈페이지 접속

1번 게시판(a project)이 나오긴 하지만 pasor에선 표시 되지 않습니다.

2009223764_1679373434.145.png

Next 버튼 클릭 시 2번 게시판(b project)이 나오면서 pasor가 활성화 됩니다. 

2009223764_1679373501.8893.png

게시판의 이동은 정상이나 처음 실행 시 pasor의 상태가 비활성화 되어있는게 이상합니다.

 

case 2) startSlide:1 설정 후 홈페이지 접속

2번 게시판(b project)이 나와야 하는데 1번 게시판(a project)가 나옵니다.

2009223764_1679373434.145.png

Next 버튼 클릭 시 3번 게시판(빈 게시판)이 나오면서 pasor가 활성화 됩니다. 

2009223764_1679373703.4089.png

게시판의 이동은 정상이나 처음 실행 시 1번 게시판 고정 및 pasor의 상태가 비활성화 되어있는게 이상합니다.

 

<공통 오류>

1<->2<->3 게시판은 prev, next 버튼으로 자유롭게 이동 가능합니다. 하지만 3->1(next 버튼), 1->3(prev 버튼) 이동 시 슬라이드가 멈추게 됩니다. (슬라이드 버튼 눌러도 무응답. 게시판 제목 클릭하여 게시판 이동은 가능)

 

case 3->1 이동(next 버튼) 시 )

2009223764_1679373954.4478.png

case 1->3 이동(prev 버튼) 시)

2009223764_1679373999.6252.png

3->1, 1->3 이동 시 슬라이드 멈추는게 가장 큰 오류입니다... 부디 조언 부탁드립니다.

 


<?php
if (!defined('_INDEX_')) define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if (G5_IS_MOBILE) {
    include_once(G5_THEME_MOBILE_PATH.'/index.php');
    return;
}
define('_INDEX_', true);
include_once(G5_THEME_PATH.'/head.php');
include_once(G5_BBS_PATH.'/new_main.php');
include_once(G5_LIB_PATH.'/popular.lib.php');
add_javascript('<script src="'.G5_JS_URL.'/jquery.bxslider.js"></script>', 10);
?>
<div class="latest_top_wr">
    <div class="lt" style="float:left;width:100%">
        <div class="lt_slider">
            <!-- 베이직 슬라이더1 { -->
            <?php
            // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
            // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
            // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
            echo latest('theme/basic_slider', 'a', 4, 20);
            ?>
            <!-- } 베이직 슬라이더1 끝 -->
            <!-- 베이직 슬라이더2 { -->
            <?php
            // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
            // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
            // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
            echo latest('theme/basic_slider', 'b', 4, 20);
            ?>
            <?php
            // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
            // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
            // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
            echo latest('theme/basic_slider', 'c', 4, 20);
            ?>
            <!-- } 베이직 슬라이더2 끝 -->
        </div>
    </div>
</div>
<div class="latest_wr">
    <!-- 사진 최신글2 { -->
    <?php
    // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
    // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
    // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
    //echo latest('theme/pic_block', 'gallery', 4, 23);        // 최소설치시 자동생성되는 갤러리게시판
    ?>
    <!-- } 사진 최신글2 끝 -->
</div>
<div class="latest_wr">
<!-- 최신글 시작 { -->
    <?php
    //  최신글
    $sql = " select bo_table
                from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
                where a.bo_device <> 'mobile' ";
    if(!$is_admin)
    $sql .= " and a.bo_use_cert = '' ";
    $sql .= " and a.bo_table not in ('free', 'gallery', 'notice', 'a', 'b') ";     //공지사항과 갤러리 게시판은 제외
    $sql .= " order by b.gr_order, a.bo_order ";
    $result = sql_query($sql);
    for ($i=0; $row=sql_fetch_array($result); $i++) {
        $lt_style = '';
        if ($i%3 !== 0 ) $lt_style = "margin-left:2%";
    ?>
    <div style="float:left;<?php echo $lt_style ?>" class="lt_wr">
        <?php
        // 이 함수가 바로 최신글을 추출하는 역할을 합니다.
        // 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
        // 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
        echo latest('theme/basic', $row['bo_table'], 6, 24);
        ?>
    </div>
    <?php
    }
    ?>
    <!-- } 최신글 끝 -->
</div>
<!-- 최신글 탭 스타일 -->
<script src="<?php echo G5_THEME_JS_URL ?>/latest_tab.js"></script>
<!-- 게시판 슬라이더 -->
<script>
$('.lt_slider').each(function(){
    $(this).bxSlider({
        mode:'horizontal',
        pager:true,
        hideControlOnEnd:false,
        nextText: '<i class="fa fa-angle-right" aria-hidden="true"></i>',
        prevText: '<i class="fa fa-angle-left" aria-hidden="true"></i>'
    });
});
</script>
<?php
include_once(G5_THEME_PATH.'/tail.php');
?>

이 질문에 댓글 쓰기 :

답변 2

슬라이더가 다 같은 클래스라서 그러실거 같습니다. 슬라이더 클래스나 아이디를 게시판명으로 하던지 해서 유니크한값으로 해서 처리를 하시면 될거 같습니다.

답변 감사합니다.

<!-- 게시판 슬라이더 -->
<script>
$('.lt_slider').each(function(){
    $(this).bxSlider({
        mode:'horizontal',
        pager:true,
        hideControlOnEnd:false,
        nextText: '<i class="fa fa-angle-right" aria-hidden="true"></i>',
        prevText: '<i class="fa fa-angle-left" aria-hidden="true"></i>'
    });
});
</script>

이 부분에서 슬라이더에 대한 파라미터를 설정해 줘야 하는데, 슬라이더 클래스를 분류하니 한 슬라이더에 한 게시판 밖에 안나오네요 ㅜㅜ

본문에 없는 latest.skin.php 에서 image 없을 경우에 대한 no image 불러오는 부분을 삭제하니까 해결됐습니다. 이유는 모르겠네요. 저와 비슷한 일을 겪으신 분은 참고 바랍니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 300
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT