asimryu

slider with no jquery

May 21st, 2014
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 2.25 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Javascript Slide Example</title>
  6. <style type='text/css'>
  7.     body {
  8.         margin:0;
  9.     }
  10.     #slidebox {
  11.         position:relative;
  12.         width:300px;
  13.         height:200px;
  14.         overflow:hidden;
  15.         white-space:nowrap;
  16.         border:1px solid #000;
  17.     }
  18.     #slidebox ul#slider {
  19.         list-style:none;
  20.         margin:0;
  21.         padding:0;
  22.     }
  23.     #slidebox ul li {
  24.         position:absolute;
  25.         width:300px;
  26.         height:300px;
  27.     }
  28.     #slidebox ul li img {
  29.         width:300px;
  30.         height:200px;
  31.     }
  32. </style>
  33. <body>
  34.     <div id="slidebox">
  35.         <ul id="slider">
  36.             <li>
  37.                 <img src="http://lorempixel.com/300/200/sports" />
  38.             </li>
  39.             <li>
  40.                 <img src="http://lorempixel.com/300/200/animals" />
  41.             </li>
  42.             <li>
  43.                 <img src="http://lorempixel.com/300/200/food" />
  44.             </li>
  45.             <li>
  46.                 <img src="http://lorempixel.com/300/200/business" />
  47.             </li>
  48.             <li>
  49.                 <img src="http://lorempixel.com/300/200/city" />
  50.             </li>
  51.         </ul>
  52.     </div>
  53.     <script type='text/javascript'>
  54.         var x = 300;
  55.         var slider = document.getElementById("slider");
  56.         var slideArray = slider.getElementsByTagName("li");
  57.         var slideMax = slideArray.length - 1;
  58.         var curSlideNo = 0;
  59.  
  60.         for (i = 0; i <= slideMax; i++) {
  61.             if (i == curSlideNo) slideArray[i].style.left = 0;
  62.             else slideArray[i].style.left = -x + "px";
  63.         }
  64.  
  65.         slider.addEventListener('click', function () {
  66.             changeSlide();
  67.         }, false);
  68.  
  69.         var aniStart = false;
  70.         var next = 1;
  71.         var changeSlide = function(){
  72.             if (aniStart === true) return;
  73.             next = curSlideNo + 1;
  74.             if (next > slideMax) next = 0;
  75.             aniStart = true;
  76.             sliding();
  77.         }
  78.  
  79.         function sliding() {
  80.             var curX = parseInt(slideArray[curSlideNo].style.left, 10);
  81.             var nextX = parseInt(slideArray[next].style.left, 10);
  82.             var newCurX = curX + 10;
  83.             var newNextX = nextX + 10;
  84.             if (newCurX >= x) {
  85.                 slideArray[curSlideNo].style.left = -x + "px";
  86.                 slideArray[next].style.left = 0;
  87.                 curSlideNo = curSlideNo + 1;
  88.                 if (curSlideNo > slideMax) curSlideNo = 0;
  89.                 aniStart = false;
  90.                 return;
  91.             }
  92.             slideArray[curSlideNo].style.left = newCurX + "px";
  93.             slideArray[next].style.left = newNextX + "px";
  94.             setTimeout(function () {
  95.                 sliding();
  96.             }, 20);
  97.         }
  98.         setInterval(changeSlide,2000);
  99.     </script>
  100. </body>
  101. </html>
Advertisement
Add Comment
Please, Sign In to add comment