Jquery图片轮播和CSS图片轮播

学习Jquery以后,很多时候觉得比写源生代码要简单一点。我们用JQuery做了一个图片轮播的动画,感觉比写CSS要简单一些。下面我来具体讲一下是怎么用JQuery来写。

<body>

<div class="img_div">

    <img class="img1" src="../image/img1.jpg" />
    <img class="img2" src="../image/img2.jpg" />

</div>

</body>

这个在body的时候很简单。如上所示,在div 里面加上两个img 就行了。

下面要开始写javascript了。首先不要忘记引入Jquery文件。如下:

<script src="../js/jquery-1.9.1.min.js">

这个没有什么说的,只是有时候注意一下不要把路径写错了。

 var ary = [
            "../image/img1.jpg",
            "../image/img2.jpg",
            "../image/img3.jpg",
            "../image/img4.jpg"
        ];

如上,我们需要把需要移动到的图片先存放在一个数组里面。

        var index = 2;
        function move_image(image_obj){
            if(parseInt(image_obj.css("left")) == 0){

                image_obj.animate({left:"-940px"},1000,function(){
                    image_obj.css({left:"940px"});
                    image_obj.attr("src",ary[index]);
                    index++;
                    if(index >= ary.length){
                        index = 0;
                    }
                });

            }else{
                image_obj.animate({left:"0"},1000);
            }
        }

如上,我们写了一个图片移动的函数。

因为我们开始在body里面就写了两个图片进去,所以index定义等于2,我们需要移动的只是div里面的两个img,但是里面的图片会变化。每次移动后那个img空下来后就取一个数组里面的加进去。为了不加得无限多,一旦index大于等于数组长度,index就等于0,再重新开始。

$(function(){
            setInterval(function(){

                move_image($(".img1"));
                move_image($(".img2"));
            },2000);
        });

页面加载我们就可以进行上面的函数。

下面是效果图:

下面是完整的代码:

<!DOCTYPE html>
<html>
<meta charset="utf-8"/>
<head>
    <title></title>
    <style>
        *{
            margin:0;
            padding:0;
        }

        .img_div{
            width:940px;
            height:423px;
            border:1px solid red;
            position: relative;
            overflow: hidden;
        }

        .img_div .img1{
            position: absolute;
            top:0;
            left:0;
        }
        .img_div .img2{
            position: absolute;
            top:0;
            left:940px;
        }

    </style>
    <script src="../js/jquery-1.9.1.min.js">

    </script>
    <script>
        $(function(){
            setInterval(function(){

                move_image($(".img1"));
                move_image($(".img2"));
            },2000);
        });

        var ary = [
            "../image/img1.jpg",
            "../image/img2.jpg",
            "../image/img3.jpg",
            "../image/img4.jpg"
        ];
    var index = 2;
        function move_image(image_obj){
            if(parseInt(image_obj.css("left")) == 0){

                image_obj.animate({left:"-940px"},1000,function(){
                    image_obj.css({left:"940px"});
                    image_obj.attr("src",ary[index]);
                    index++;
                    if(index >= ary.length){
                        index = 0;
                    }
                });

            }else{
                image_obj.animate({left:"0"},1000);
            }
        }
    </script>
</head>
<body>

<div class="img_div">

    <img class="img1" src="../image/img1.jpg" />
    <img class="img2" src="../image/img2.jpg" />

</div>

</body>
</html>

以上是JQuery做的图片轮播,下面我再讲一下用CSS来做图片轮播:

css来写,首先在body里面写个div ,div里面写入移动的图片。

代码如下:

<body>
<div id="center-top-center">
        <div id="adanimation">
            <ul>
                <li><img src="ad01.jpg" width="100%" /></li>
                <li><img src="ad02.jpg" width="100%" /></li>
                <li><img src="ad03.jpg" width="100%" /></li>
                <li><img src="ad04.jpg" width="100%" /></li>
            </ul>
        </div>
</div>
</body>

然后就开始写CSS了。我写的是谷歌浏览器能适用的。写的代码如下:

 <style type="text/css">
        *{margin: 0px;padding: 0px;}
        #center-top-center{
            width: 670px;
        }
        #adanimation { width: 100%; overflow: hidden; position: relative; }
        #adanimation ul li { float: left; width: 25%; }
        #adanimation ul { width: 400%; -webkit-animation:adplayer 10s linear infinite;list-style-type: none }

        @-webkit-keyframes adplayer
        {
            from,25% { margin-left: 0px; }
            30%,50% { margin-left: -100%; }
            60%,75% { margin-left: -200%; }
            80%,100% { margin-left: -300%; }
        }

    </style>

效果图如下:

所有代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <style type="text/css">
        *{margin: 0px;padding: 0px;}
        #center-top-center{
            width: 670px;
        }
        #adanimation { width: 100%; overflow: hidden; position: relative; }
        #adanimation ul li { float: left; width: 25%; }
        #adanimation ul { width: 400%; -webkit-animation:adplayer 10s linear infinite;list-style-type: none }

        @-webkit-keyframes adplayer
        {
            from,25% { margin-left: 0px; }
            30%,50% { margin-left: -100%; }
            60%,75% { margin-left: -200%; }
            80%,100% { margin-left: -300%; }
        }

    </style>
</head>
<body>
<div id="center-top-center">
        <div id="adanimation">
            <ul>
                <li><img src="ad01.jpg" width="100%" /></li>
                <li><img src="ad02.jpg" width="100%" /></li>
                <li><img src="ad03.jpg" width="100%" /></li>
                <li><img src="ad04.jpg" width="100%" /></li>
            </ul>
        </div>
</div>
</body>
</html>

时间: 2025-01-13 06:08:23

Jquery图片轮播和CSS图片轮播的相关文章

几种垂直居中的方式及CSS图片替换技术

由于块级元素的高度是可以设置的,所以对于块级元素的垂直居中比较简单. 方法一: 在不定高的情况下,把元素的上下内边距设为同一个值即可实现,即padding :10px   0; 以上方法针对块级元素和行内元素都可以. 方法二: line-height:(只针对行内元素可行) 将行高设置成和父元素的高度相等,就可以实现行内元素的垂直居中了. 由于行内元素的对其方式是基线对齐,所以当图片和文字位于一列时,呈现出来的效果往往不是我们想要看到的样子, 我们要想将里面的元素都实现垂直居中,就应该分别对每个

jQuery图片轮播(一)轮播实现并封装

利用面向对象自己动手写了一个封装好的jquery轮播对象,可满足一般需求,需要使用时只需调用此对象的轮播方法即可. demo:https://github.com/zsqosos/shopweb 具体代码如下: HTML结构: 1 <div class="banner" id="J_bg_ban"> 2 <ul> 3 <li><a href="#"><img src="banner_

基于jQuery带进度条全屏图片轮播代码

基于jQuery带进度条全屏图片轮播代码.这是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="pic"> <ul> <li style="background: url(images/bg1.jpg) center;"> <img src="images/con1.png"> <

换主页轮播的主题图片(4、删除)---轻开电子商务系统(企业入门级B2C网站)

接(  换主页轮播的主题图片1 ) 文件:site/links/img0.html中的表单(第11行最后一个td) <td><if x="@{sys:canDo}"><a href="javascript:doDel('@{links:WE_ID}');" x=true>[删除]</a></if></td> 及16到23行的删除提示js函数(参数为reUrl和图片we_id) <scrip

妈蛋:kinMaxShow轮播图异常,WebUploader图片上传坑爹,图片被压缩了

今天晚上在改造轮播图. 原来的代码是这样的: <div> <img src="${static}/image/index/banner/`.jpg" /> </div> <div> <img src="${static}/image/index/banner/2.jpg" /> </div> <div> <img src="${static}/image/index/

element-ui中轮播图自适应图片高度

哈哈,久违了各位.我又回来了,最近在做毕设,所以难免会遇到很多问题,需要解决很多问题,在万能的博友帮助下,终于解决了Element-ui中轮播图的图片高度问题,话不多说上代码. 那个axios的使用不重要,大致思路就是页面渲染前拿到当前窗口的宽度*图片比例给轮播图一个初始的高度,当窗后大小发生变化时,监听事件里将轮播图高度重新赋值即可,再次感谢两位博友的帮助 <template> <div v-if="imgurl"> <el-carousel :heig

用 CSS 做轮播图

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

使用css实现轮播图

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

DIV+CSS图片不间断滚动jquery特效(Marquee插件)及移动标签marquee整理

推荐一个jQuery的无缝文字滚动效果,同时也可以滚动图片,也叫做跑马灯效果. 此jquery插件,依托jquery库,能实现各种滚动效果,且让HTML代码符合W3C标准. marquee标签:创建一个滚动的文本字幕,应用于文字.图片.表格. DIV+CSS图片不间断滚动jquery特效,横向不间断不停滚动CSS特效,使用JQ+DIV实现非常实用简单兼容各大浏览器的图片不间断滚动特效(CSS+JQ不间断滚动图片). 使用方法如下: 1.加载JavaScript. 1 <script type=&qu