미채택 완료

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

<현재 상황>

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

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 이동 시 슬라이드 멈추는게 가장 큰 오류입니다... 부디 조언 부탁드립니다.

 

Copy
<?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개 / 댓글 1개

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

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

답변에 대한 댓글 1개

답변 감사합니다.

<!-- 게시판 슬라이더 -->
<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>

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

답변을 작성하려면 로그인이 필요합니다.