html+css+javascript实现简易轮播图片

html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="../css/test2.css">
<script type="text/javascript" src="../js/test2.js"></script>
<title>图片轮播</title>
</head>
<body onload="onPageLoaded()">
     <div class="s1">
        <div class="s2"><img src="../img/left.png" onclick="goLeftClick()"></img></div>
        <div class="s3"><img src="../img/right.png" onclick="goRightClick()"></img></div>

         <ul id="imgList" >
                      <li > <img  src="../img/img1.jpg"></img></li>
                      <li > <img src="../img/img2.jpg"></img></li>
                       <li > <img  src="../img/img3.jpg"></img></li>
                       <li > <img  src="../img/img4.jpg"></img></li>
         </ul>

     </div>
</body>
</html>

css:

@CHARSET "UTF-8";

body{

    width:950px;
    height:800px;
    background-color: silver;
    margin: 0 auto;
    border:1px solid red;
}

.s1{
    width:950px;
    height:250px;
    margin-top: 100px;
    background-color: orange;
    position:relative; /* 先将外面的div定位 */
    left:0;
    top:0;
    overflow: hidden;/* 自动隐藏超出的内容 */

}

.s2{
    /* background-color: blue;*/

     position:absolute;/* 再将里面的左右导航div定位 */
     left:30px;
     top:93px;
     z-index: 1;
}
.s3{
    /* background-color: blue;*/
     position:absolute;
     left:856px;
     top:93px;
     z-index: 1;
}

/*图像ul */
.s1 ul{
    width:3800px; /* ul 宽度设置 所有图像的宽的总和 */
    height:250px;
    padding:0;         /* padding 设置0 */
    margin:0;        /* margin 设置0 */
    background-color: purple;
    overflow: hidden; /* 自动隐藏超出的内容 */

}

.s1 ul > li{
     width:950px;
     list-style-type: none;
     float: left;
}
.s1 ul img{
    width:950px;
    height:250px;
    /*max-width: 100%;*/
}

javascript:

/**
 *  @description:
 *  @author Chenchen Yu
 *  @date 2016年11月23日
 *  @time 下午9:01:21
 */

 var k=0;
 var imgNum=4;//图片数目
 var imgWidth=950;
 function onPageLoaded(){

     setTimeout(‘goLeft()‘,2000);

 }

 //自动向左滑动图片
function goLeft(){

      var imgList=document.getElementById(‘imgList‘);
      marginLeft=-((k+1)%imgNum)*imgWidth;
      if(marginLeft==0)
          {      

            imgList.style.marginLeft=‘0px‘;
            k++;
            setTimeout(‘goLeft()‘,2000);
            return;
          }
         slideLeft(imgList,marginLeft+imgWidth,marginLeft);
     // k++;
}

function slideLeft(imgList,start,marginLeft){
    //模拟滑动
    //var start=marginLeft+950;
    setTimeout(‘slideLeftByStep(‘+‘imgList‘+‘,‘+start+‘,‘+marginLeft+‘)‘,10);

}

function slideLeftByStep(imgList,dis,marginLeft){
    if(dis<marginLeft)
        {
          k++;
          setTimeout(‘goLeft()‘,2000);
          return;
        }
      imgList.style.marginLeft=dis+‘px‘;

      dis=dis-50;//step size
      slideLeft(imgList,dis,marginLeft);
}

function goLeftClick(){

}

//点击向右滑动图片
function goRightClick(){
     var imgList=document.getElementById(‘imgList‘);

     if(k<=0||(k)%imgNum==0)
         {
          // imgList.style.marginLeft=‘0px‘;
           k=0;
           return;
         }
     k=k-2;//后退

     marginLeft=-((k+1)%imgNum)*imgWidth;
     clickSlideRight(imgList,marginLeft-imgWidth,marginLeft);
     console.log(‘kk‘,marginLeft);
//     imgList.style.marginLeft=‘0px‘;
}

function clickSlideRight(imgList,start,marginLeft){

    setTimeout(‘clickSlideRightByStep(‘+‘imgList‘+‘,‘+start+‘,‘+marginLeft+‘)‘,5);

}

function clickSlideRightByStep(imgList,dis,marginLeft){
    if(dis>marginLeft)
    {
      k++; //
      return;
    }
    imgList.style.marginLeft=dis+‘px‘;
    dis=dis+50;//step size
    clickSlideRight(imgList,dis,marginLeft);
}

//点击向左滑动图片
function goLeftClick(){
     var imgList=document.getElementById(‘imgList‘);
     if((k+1)%imgNum==0)
         {
           k=0;
           return;
         }
     marginLeft=-((k+1)%imgNum)*imgWidth;
     clickSlideLeft(imgList,marginLeft+imgWidth,marginLeft);
}

function clickSlideLeft(imgList,start,marginLeft){

    setTimeout(‘clickSlideLeftByStep(‘+‘imgList‘+‘,‘+start+‘,‘+marginLeft+‘)‘,5);

}

function clickSlideLeftByStep(imgList,dis,marginLeft){
    if(dis<marginLeft)
    {
      k++;//保持自动滑动同步
      return;
    }
    imgList.style.marginLeft=dis+‘px‘;
    dis=dis-50;//step size
    clickSlideLeft(imgList,dis,marginLeft);
}

效果图:

时间: 2024-10-11 04:13:54

html+css+javascript实现简易轮播图片的相关文章

用CSS代码编写简易轮播图

废话不多说,直接上代码 <!doctype html> <html> <head> <title></title> <meta charset="utf-8" /> <style type="text/css"> .container{ width: 1000px; height: 500px; margin: 50px auto; overflow: hidden; backgro

一个html+css+js的轮播图片 -- 仅供参考

好久没打网页程序了,标签和css 之类都忘的跟空白一样,花几天时间把丢掉的东西给捡起来. 附上 html+css+js 代码 html: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3

转向移动webApp开发的前端工程师必要的代码,手机webApp触摸左右滑动切换轮播图片广告

刚进一家新公司,公司专做手机App的,由于公司业务太多,传统的方法开发app成本太高,每个app要开发几个版本,公司有个想法就是做webApp来代替传统app.我是才接触到webApp的美工一枚. 今天给小伙伴们分享一个好东西,webApp轮播效果,支持手机上用手左右滑动的效果,因为手机的触摸事件和PC端用鼠标操作的事件是不同的,所以我就需要针对移动端的设备触摸事件做相应的轮播特效.大家可以去看下易迅的:http://m.yixun.com/t/ 和淘宝的http://m.taobao.com/

原生JS实现简易轮播图

原生JS实现简易轮播图(渐变?) 最近做网页总是会用到轮播图,我就把之前写的轮播图单独拿出来吧,如果有...如果真的有人也需要也可以复制去用用啊..哈~.. window.onload = function() { var tab = 0; var loop_imgs = new Array("img/l1.jpg", "img/l2.jpg", "img/l3.jpg", "img/l4.jpg", "img/l5

SuperSlidev2.1 轮播图片和无缝滚动

SuperSlidev2.1 轮播图片和无缝滚动 使用方法点击链接:http://down.admin5.com/demo/code_pop/18/562/index.html 简单使用方法如下 html <div class="bd"><ul><li _src="url(images/1.jpg)" style="background:#E2025E center 0 no-repeat;"><a hr

原生JavaScript实现无缝轮播图

无缝轮播图是页面常用的特效之一,然而在实际的开发过程中,大部分的开发者都会使用插件来对轮播图进行开发,那么它的底层到底是怎么实现的呢,本文章将围绕这一问题展开探讨. 在讨论如何利用原生JS实现图片之间无缝切换轮播的动画效果之前,我们先来谈谈无缝轮播图片的css布局. 首先我们需要一个用来显示图片的DIV容器,然后把想要轮播的图片没有缝隙的排成一行放入DIV容器中,给DIV容器设置 overflow: hidden,这样在页面中就可以只看到一张图片,然后通过利用JS来移动ul的left值就能达到无

基于css和js的轮播效果图实现

基于css和js的轮播效果图实现 第一篇:效果图 1.先啥也不说直接上效果图 第二篇:详细讲解 1.  建立容器  #box 给其设置相关属性(注意:overflow:hidden;) 2.  Box中包括有ul li 以及a标签.在图片描述的时候,确保span所在层置顶. 3. <div class="innerText"> </div> <span class="innerText1">第一辆车</span> 另外

淘宝店如何加入全屏轮播图片

淘宝店如何加入全屏轮播图片? | 浏览:5779 | 更新:2014-06-11 11:31 | 标签: 淘宝 1 2 3 4 5 分步阅读 百度经验:jingyan.baidu.com 开淘宝店的朋友,看到很多店铺有各式各样的轮播大图,很高端大气,您是否也想拥有一款属于自己的轮播图呢?今天我就交给大家如何制作全屏轮播图. 百度经验:jingyan.baidu.com 工具/原料 电脑/网络 百度经验:jingyan.baidu.com 方法/步骤 1 登录淘宝店. 登录到您的淘宝店,点击“卖家

淘宝店铺装修轮播图片上添加多个自定义链接

受朋友之托,抽了点时间研究了一下店铺装修模板,每个模板都不一样如果想实现一张轮播图片上有多个链接,在轮播的模块内必须支持自定义代码,也就是自己添加代码,我这里就不上图片了,只分析几块重要的代码. 首先我在dreamweaver生成如下代码: <img src="http://img03.taobaocdn.com/imgextra/i3/298665212/TB2pR3NaXXXXXbCXXXXXXXXXXXX_!!298665212.jpg" width="1920&