html5+css+JavaScript 轮播图

BEGIN:

HTML代码如下

<div id="slideShowContainer">
    <ul id="imgUl">
        <li> <div class="SlidePic"> <a href="#"><img src="img/g_1.jpeg" alt="" /></a> </div> </li>
        <li> <div class="SlidePic"> <a href="#"><img src="img/g_2.jpeg" alt=""/></a> </div> </li>
        <li> <div class="SlidePic"> <a href="#"><img src="img/g_3.jpeg" alt="" /></a> </div> </li>
    </ul>
    <ul id="bUl">
        <li class="selected">1</li>
        <li class="unselecte">2</li>
        <li class="unselecte">3</li>
    </ul>
    <div id="titleDiv">
        <span class="show"><a href=‘#‘>图片介绍</a></span>
        <span class="hide"><a href=‘#‘>图片介绍</a></span>
        <span class="hide"><a href="#">图片介绍</a></span>
    </div>
</div>      

JavaScript代码如下

  <script type="text/javascript">var im=document.getElementById("imgUl").getElementsByTagName("li");
    var b=document.getElementById("bUl").getElementsByTagName("li");
    var title=document.getElementById("titleDiv").getElementsByTagName("span");
    var index=0;
    var timer=null;

    /*定义图片切换函数*/
    function changePic(cIndex){
        /*让所有图片隐藏*/
        for(var i=0;i<im.length;i++){
            im[i].style.display="none";
            b[i].className="unselecte";
            title[i].className="hide"
        }
        /*指定图片显示*/
        im[cIndex].style.display="block";//显示图片
        b[cIndex].className="selected";//显示标号
        title[cIndex].className="show";//显示说明标注
    }

    /*index超出图片总量时归零*/
    function autoPlay(){
        if(+index>=im.length){
            index=0;
        }
        changePic(index);
        index++;
    }
    /*定义并调用自动播放函数*/
    timer=setInterval(autoPlay,1500);

    /*鼠标划过整个容器时停止自动播放*/
    slideShowContainer.onmouseover=function(){
        clearInterval(timer);
    }
    slideShowContainer.onmouseout=function(){
        timer=setInterval(autoPlay,1500);
    }
    /*遍历所有数字导航实现划过切换至对应图片*/
    for(var i=0;i<b.length;i++){
        b[i].onmouseover=function(){
            clearInterval(timer);
            index=this.innerText-1;
            changePic(index);
        }
    }

</script>     

css代码如下

.slideDiv{
    height: 410px;
    text-align: center;
    overflow:hidden;
    opacity: 0.6;
}
#slideShowContainer{
    overflow: hidden;
    position: relative;/*用于小方框的定位*/
}

.SlidePic{
    position: relative;
    transition: all 0.6s;
}

#slideShowContainer img{
    z-index: -1;
    transition: all 0.6s;
}

#slideShowContainer img:hover{
    transform: scale(1.07);
}
#imgUl{
    list-style: none;
}
#bUl{
    list-style: none;
    display: flex;
    flex-direction: row;
    /*将小方框固定在右下角*/
    position: absolute;
    right: 25%;
    bottom: 1%;
    /*通过设置z-index的值大于#titleDiv中z-index的值,
     * 使其浮在标题栏的上方*/
    z-index: 2;
}
#titleDiv{
    position: absolute;
    width: 100%;
    /*height: 80;*/
    bottom: 1%;
    /*left: 20%;*/
    background-color: black;
    /*设置透明度,实现标题栏半透明效果*/
    opacity: 0.6;
    z-index: 1;
}
#titleDiv>span{
    position: relative;
    left: 20%;
    line-height: 42px;
    color: #FFFFFF;
    margin-left: 20px;
    width: 270px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
#titleDiv>span>a{
    color: #FFFFFF;
    /*text-decoration-style: none;*/
}
.selected{
    /*font-size: 15px;*/
    width: 12px;
    height: 12px;
    background-color: #FFFFFF;
    color:black;
    margin-left: 9px;
}
.hide{
    display: none;
}
.show{
    display: block;
}

END.

原文地址:https://www.cnblogs.com/gangpei/p/12695987.html

时间: 2024-08-13 03:36:26

html5+css+JavaScript 轮播图的相关文章

原生javascript轮播图!

<style> .box { width: 500px; height: 275px; position: relative; margin: 100px auto; } a { text-decoration: none; font-size: 28px; text-align: center; line-height: 80px; display: inline-block; width: 40px; color:#fff; background:rgba(0,0,0,0.6); posi

用 CSS 做轮播图

对于用 css 实现一个轮播图的缘由,是那时候刚开始接触前端,完全还不懂 js.但是有一个项目(就是一个用来应付面试的作品)需要做一个轮播的效果,当时第一反应就是用 css3 自定义动画 -webkit-animation.做出来的效果自己觉得还可以,唯一的不足就是鼠标点击切换 banner 图和指定到某个图.如果项目中不需要切换变换图片的需求,用 css3 做,何尝不是一种办法.不多说,先上代码: html 代码如下: <div class="test"> <a h

基于css制作轮播图的部分效果

在轮播图中,我们可以通过鼠标在特定位置上的滑动来实现元素背景的改变.通常在制作轮播图时,我们首先想到的是js中的交互.可是,如果我们无法使用js,只能单纯的靠css又该如何实现这一效果呢?下面,本人将向大家介绍一种最近实验出来的一种方法. 在介绍这种方法之前,本人觉得对于css中的某些伪类选择器有必要进行进一步的分析. hover这个伪类选择器表示的是当鼠标移动到元素上时元素的反应.这一特性与js中的mousemove事件十分的相近,那么其是不是可以被近视地看做该事件呢?下面我们来做一个例子:

使用css实现轮播图

使用css3实现图片轮播 前言:实现图片轮播的方式有很多种 ,例如js ,css 等等. 本文主要讲述使用纯css3实现轮播图 工具介绍: 使用的编辑器: Hbuilder 进入正题 html代码: <div id="slide_show"> <div id="photos"> <!-- 作者:JavaBuild 时间:2018-10-21 描述:轮播图 --> <img id="first_slide_photo

js+html+css实现轮播图

首先先把轮播图的结构搭建起来(html),代码如下:  结构可自行搭建,结构搭建完接着就是用css去进行修饰美化   此时的ul是没有给它设置固定的宽和高的,高可以先设置,宽不能,等下让图片一张接一张一的动起来,实际上是改变了ul的left值,ul的宽可以通过图片(li)的宽 乘以 图片数量即可得到,但是不能写死,所以ul的宽我们用js去获取设置,一起看下现在的效果 好了,结构已经搭建完了,现在只是静态的,我们需要用js去让它动起来,我们先获取html中需要用到的元素并把它存给变量,这里我事先存

纯css实现轮播图

轮播图的实现原理其实是比较简单的 举个例子 <div class="main"> <div class="div-main"></div> </div> main的宽度是100px div-main的宽度是500px 我们用js控制div-main往左或往右移动,这样就实现了轮播,简单把 好了,先介绍个 css3的api animation: myfirst 5s linear 2s infinite alternat

HTML+CSS +JS 轮播图

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>轮播图</title> 6 <style> 7 #container{ 8 width: 450px; 9 height: 270px; 10 margin: 0 auto; 11 margin-top: 100px; 12 position: relative;

jquery 广告轮播图

轮播图 /*轮播图基本功能: * 1图片切换 * 1.1图片在中间显示 * 1.2图片淡入淡出 * 2左右各有一个按钮 * 2.1点击左按钮,图片切换上一张 * 2.2点击右按钮,图片切换下一张 * 2.3鼠标滑过按钮,按钮颜色加深 * 3底部的导航点 * 3.1图片为第几张时,点在那第几张 * 3.2鼠标滑到第几个点,图片切换到第几张 * 4图片自动轮播 * 4.1默认自动下一张 * 4.2鼠标在图片范围时,停止切换 * 4.3鼠标离开图片范围,恢复自动切换 * 5鼠标放在图片范围时,变为小手

CSS3,3D效果轮播图

---恢复内容开始--- 大家还记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮播图吧! ....这个轮播图主要是用CSS3里的transform的旋转属性来完成3D效果的,然后配合原生js的显示隐藏,达到了3D旋转轮播图的效果: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/ht