상세 컨텐츠

본문 제목

자작 제이쿼리 슬라이더 입니다.

노드js·자바스크립트

by 김일국 2014. 12. 6. 15:39

본문

보통은 nivo 슬라이더를 사용하는데, 간혹 프렘임웍이나, 솔루션을 겹쳐서 사용할 경우 슬라이더가 작동하지 않는 경우가 있습니다. 물론 일반적으로 제이쿼리 알리아스를 사용하는 방법이 있지만, 

:구형 솔루션에 최신 제이쿼리 사용예)

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

var $newjQuery = jQuery.noConflict();

$newjQuery(function () {

  $newjQuery("#slidepage #n0").css({"background-color":"pink"});

});

위와 같이 $newjQuery 라는 새로운 alias 를 지정하여 $ 대신 $newjQuery 를 사용하면 됩니다.

그래도 작동하지 않는 경우 제가 사용하는 자작 슬라이더 입니다.


<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>자작 제이쿼리 슬라이더</title>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

    <style>

.wrap { width: 100%; }

.kslidebody {margin:0 auto;position:relative;margin-top:20px;

width:714px;height:322px;overflow:hidden;background-color:transparent;}

.kslidebody .kslide > .overlay {

 position: absolute;

 width: 100%;

 height: 100px;

 overflow: hidden;

 margin: 0px 10px 0px 10px;

 opacity: .8;

 bottom: 0;

 font-size: 0.9em;

}

.action {margin:0 auto;position:relative;margin-top:-200px;width:814px;}

.prev {position:absolute;width:44px;height:44px;margin-left:0px; z-index:1550; background-image:url(icon_prev.png); background-repeat:no-repeat; cursor:pointer;}

.next {position:absolute;width:44px;height:44px;margin-left:750px; z-index:1550; background-image:url(icon_next.png); background-repeat:no-repeat;cursor:pointer; }

.slidepage {margin:0 auto;position:relative;margin-top:250px;width:814px;text-align:center;}

.slidepage > span{margin-right:5px;}

    </style>

</head>

<body>

<div class="wrap">

<div id="kslidebody" class="kslidebody">

<div class="kslide">

<div class="image">

                    <img src="event1.png">

                </div>

                <div class="overlay">

                    <div><span style="font-size:1.4em"><strong>퀸스케어 이벤트 제목1</strong></span></div>

                    <p>테스트 이벤트1 내용 입력 입니다.

    <br />퀸스케어 이벤트 첫번째

    <br />일자 2015-01-30까지.<a href="javascript:;">[자세히 보기]</a>

    </p>

                </div>

        </div>

        <div class="kslide">

<div class="image">

                    <img src="event2.png">

                </div>

                <div class="overlay">

                    <div><span style="font-size:1.4em"><strong>퀸스케어 이벤트 제목2</strong></span></div>

                    <p>테스트 이벤트2 내용 입력 입니다.

    <br />퀸스케어 이벤트 두번째

    <br />일자 2015-01-30까지.<a href="javascript:;">[자세히 보기]</a>

    </p>

                </div>

        </div>

</div>

<div class="action" id="action">

        <a class="prev" id="prev"></a>

        <a class="next" id="next"></a>

</div>

<div class="slidepage" id="slidepage"></div>

</div>

<script type="text/javascript">

$(function () {

var image=0; //롤링할 개체의 개수

var now=0;   //현재 선택된 개체

var second=3; //롤링시간텀

var kslider;  //반복할 개체묶음

var number=0; //페이징에서 사용할 변수

// 초기화

image=$("#kslidebody .kslide").size();

for(n=0;n<image;n++){

$("#slidepage").append('<span class="slidenumber" id="n'+ n +'" style="display:inline-block;width:20px;height:20px;background-color:skyblue;cursor:pointer;"></span>');

}

$("#slidepage #n0").css({"background-color":"pink"});

$("#kslidebody .kslide").each(function (i) { if($(this).css('display')!='none'){ now=i; } });

function startShow() {

timing=second*1000;

kslider=setInterval(function () {

now++;

if(now>=image) now=0;

$("#kslidebody .kslide").each(function (i) { if(i==now){ $(this).show();$("#slidepage #n"+i+"").css({"background-color":"pink"}); } else { $(this).hide(); $("#slidepage #n"+i+"").css({"background-color":"skyblue"});} });

}, timing);

}

function endShow() { clearInterval(kslider); }

// 자동 시작

startShow();

// 기능 부여 페이징링크

$(".slidenumber").click(function() {

//alert(this.id);//디버그

number = (this.id).replace(/[^0-9]/g,'');

now=number;

$("#kslidebody .kslide").each(function (i) { if(i==now){ $(this).show();$("#slidepage #n"+i+"").css({"background-color":"pink"}); } else { $(this).hide(); $("#slidepage #n"+i+"").css({"background-color":"skyblue"});} });

});

// 기능 부여 좌우 액션

$("#next").click(function() {

now++;

if(now>=image) now=0;

$("#kslidebody .kslide").each(function (i) { if(i==now){ $(this).show();$("#slidepage #n"+i+"").css({"background-color":"pink"}); } else { $(this).hide(); $("#slidepage #n"+i+"").css({"background-color":"skyblue"});} });

});

$("#prev").click(function() {

now--;

if(now<0) now=image-1;

$("#kslidebody .kslide").each(function (i) { if(i==now){ $(this).show();$("#slidepage #n"+i+"").css({"background-color":"pink"}); } else { $(this).hide(); $("#slidepage #n"+i+"").css({"background-color":"skyblue"});} });

});

// 기능 부여 롤오버시 멈추기

    $('#kslidebody, #action, #slidepage').hover(    

    function() {

       endShow();

    },

    function() {

       startShow();

    });

});

</script>

</body>

</html>

관련글 더보기

댓글 영역