Jquery实现图片轮换效果

最近在看jquery书时,看到一个比较有趣的东西:图片轮换。这里和大家分享下我看完后写的一个demo。实现图片轮换要完成三部分模块:html部分、css部分、jqury部分。下面分步详细说明。
1.html部分:

<div class="showContainer">
            <div class="showHead">
                <div id="headName" class="headItem">五月天专辑</div>
                <div id="pageInfo" class="headItem">
                    <ul>
                        <li class="selected"></li>
                        <li></li>
                        <li></li>
                    </ul>
                </div>
                <div id="controlBtns" class="headItem">
                    <span><<</span><span>>></span>
                </div>
            </div>

            <div class="showContent">
                <div class="showContentList">
                    <ul>
                        <!--第一板-->
                        <li>
                            <img src="../imgs/fastSong.jpg" alt="Alternate Text" />
                            <div>伤心的人别听慢歌....</div>
                            <span>播放:523,4455</span>
                        </li>
                        <li>
                            <img src="../imgs/goldchildren.jpg" alt="Alternate Text" />
                            <div >神的孩子都在跳舞....</div>
                            <span>播放:123,4455</span>
                        </li>
                        <li>
                            <img src="../imgs/poetryAfter.png" alt="Alternate Text" />
                            <div>后青春期的诗....</div>
                            <span>播放:133,4445</span>
                        </li>
                        <li>
                            <img src="../imgs/secondLive.jpg" alt="Alternate Text" />
                            <div>第二人生....</div>
                            <span>播放:183,4655</span>
                        </li>

                        <!--第二板-->
                        <li>
                            <img src="../imgs/liveForLove.jpg" alt="Alternate Text" />
                            <div>我为爱而生....</div>
                            <span>播放:423,4355</span>
                        </li>
                        <li>
                            <img src="../imgs/enough.jpg" alt="Alternate Text" />
                            <div>知足。怎么去拥有 一道彩虹....</div>
                            <span>播放:723,4955</span>
                        </li>

                    </ul>
                </div>
            </div>
        </div>

基本上就是三个部分:按钮控区#controlBtns,.图片展示区.showContent,当前板块#pageInfo。

2.css部分。主要是控制好图片展示区的样式。图片列表父容器.showContent的
position设为relative,overflow为hidden。其子元素showContentList的position设为absolute,列表ul的white-space设为nowrap。为了方便大家快速查看效果,我把完整的css也附上来:

 body {
    font-size:14px;
}

ul {
    margin:0;
    padding:0;
}

ul li {
    float:left;
    list-style:none;
}

.main {
    height:500px;
    width:1100px;
    border:1px solid #808080;
    border-radius:2px;
    margin:10px auto;
}

.showContainer {
    height:200px;
    width:770px;
    margin:10px auto;
}

.showContainer .showHead {
    height:35px;
    width:100%;
    background-color:#2B6CAD;
    opacity:0.7;
    border-top-left-radius:2px;
    border-top-right-radius:2px;
}

.showContainer .headItem {
      float:left;
      margin-top:10px;
      padding-left:5px;
}

#headName {
    width:130px;
    font-size:16px;
    color:white;
    font-weight:bold;
}

#pageInfo {
    width:80px;
}

#pageInfo ul li {
    width:12px;
    height:12px;
    border-radius:10px;
    background-color:#E7E7E7;
    text-align:center;
    margin-right:2px;
}

#pageInfo ul li.selected {
    background-color:#41403C;
}

#controlBtns {
    width:65px;
    height:20px;
    border:1px solid #41403C;
    border-radius:4px;
    background-color:white;
    line-height:20px;
}
#controlBtns span {
    cursor:pointer;
    display:block;
    float:left;
    height:20px;
    width:30px;
    text-align:center;
}

#controlBtns span:first-child {
        border-right:1px solid #41403C;
}

#controlBtns span:hover {
    color:red;
    font-weight:bold;
}

.showContainer .showContent {
     height:180px;
     width:100%;
     overflow:hidden;
     position:relative;
}

.showContent .showContentList {
    position:absolute;
    height:100%;
}

.showContainer .showContentList ul {
    height:180px;
    white-space:nowrap;
}

.showContainer ul li{
    height:180px;
    width:187px;
    margin-right:2px;
    /*margin-left:2px;*/
    margin-top:5px;
}

.showContainer ul li img {
    height:120px;
    width:180px;
    cursor:pointer;
    border:1px solid #808080;
}

.showContainer ul li div {
    font-weight:bold;
    margin:5px 0;
}

3. js部分。利用jquery的animate方法实现起来确实简单代码如下:

$(function () {
    var currentIndex = 1;
    var cellNum = 4;
    var contentWidth = $(‘.showContent‘).width();
    var $list = $(‘.showContentList‘); //列表对象 即滚动的容器
    var banCount = Math.ceil($list.find(‘li‘).length / cellNum); //计算总的板数

    $(‘#controlBtns span‘).click(function () {
        var index = $(this).index();
        if ($list.is(":animated")) {  //防止出现连续多次点击后,仍然滑动的情况
            return;
        }
        if (index == 0) { //上一板
            if (currentIndex == 1) {
                 currentIndex = banCount;
                $list.animate({ left:‘-‘ contentWidth*(banCount-1) }, ‘normal‘);
            }
            else {
                currentIndex --;
                $list.animate({ left: ‘ =‘   contentWidth }, ‘normal‘);
            }

        }
        else {
            if(currentIndex == banCount)
            {
                currentIndex=1;
                $list.animate({ left: ‘0‘ }, ‘normal‘);
            }
            else
            {
                currentIndex   ;
                $list.animate({ left: ‘-=‘   contentWidth }, ‘normal‘);
            }

        }

        /*显示当前所在版的*/
        $(‘#pageInfo ul li‘).eq(currentIndex - 1).addClass(‘selected‘)
            .siblings().removeClass(‘selected‘);

    });

});

  js代码都比较简单,就不做多的解释了。就这样,比较简单的图片轮换效果就实现。效果如图:

时间: 2024-12-15 15:02:56

Jquery实现图片轮换效果的相关文章

图片轮换效果

<script type="text/javascript" src="jquery-1.4.2.js"></script> <style> ul(list-style:none;width:360px;height:200px;position:absolute;) li{position:absolute;} </style> <div class="change"> <ul&

Image Wall - jQuery &amp; CSS3 图片墙效果

今天我们要为您展示如何基于 jQuery 和 CSS3 创建一个整洁的图片墙效果.我们的想法是在页面上洒上一些大小不同的缩略图,并在当我们点击图片时候显示丝带,会显示一些描述,再次点击缩略图时,丝带将关闭并重新打开一个更大的图像预览效果. 在线演示     下载源码 您可能感兴趣的相关文章 充满想象力的 JavaScript 物理和重力实验 精选9个值得学习的 HTML5 效果[附源码] 精选12个时尚的 CSS3 效果[附源码下载] 十分惊艳的8个 HTML5 & JavaScript 特效

Jquery实现图片切换效果(IE,FF,Goole)都可以正常运行

这里先对标签的样式进行设置(我这里只用了3张图片,可以根据自己的情况,添加) 1 <style type="text/css"> 2 3 /*展示图片切换的div样式*/ 4 #ShowImg { 5 width: 599px; 6 height: 324px; 7 background-image: url("imgs/1.jpg");/*注意自己的图片路径和图片名称*/ 8 margin: 0 auto; 9 } 10 /*显示点击切换按钮的div*

JS实现简单的图片轮换效果

<!doctype html> <html lang="en">  <head>   <meta charset="UTF-8">   <meta name="Generator" content="EditPlus">   <meta name="Author" content="">   <meta nam

jquery实现图片漂浮效果

$(window).load(function(){   function moveRocket(){   $("#float").animate({'left':'+=100'},5000).delay(1000)   .animate({'left':'-=100'},5000,function(){   setTimeout(moveRocket,1000);   });   };   moveRocket();   }); 

js图片轮换显示实例

用js脚本实现图片轮换显示,很简单的小例子,特此分享. 1,js代码部分,图片轮换代码. <script language="JavaScript"> var imgUrl=new Array(); var imgLink=new Array(); var imgText=new Array(); var picNum=0; imgUrl[1]="图片地址一"; imgLink[1]="链接1"; imgText[1]="标

js图片轮换经典小例子

使用js脚本实现图片轮换.图片轮播的小例子,纯js实现的,感觉不错,收藏下. 例子,js脚本实现图片轮换代码. <script type="text/javascript"> var NowFrame = 1; //初始化显示第几张 var MaxFrame = 3; //最大显示几张 function show() { for (var i = 1; i < (MaxFrame + 1); i++) { if (i == NowFrame) document.get

js图片轮换

本文介绍用javascript制作图片轮换效果,原理很简单,就是设置延时执行一个切换函数,函数里面是先设置下面的缩略图列表的白框样式,再设置上面大图的src属性,在IE中显示很正常,可是在FF中会有变成先显示上面的大图 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&g

jquery插件图片延时加载实例详解(转)

jquery插件图片延时加载实例详解 效果预览:http://keleyi.com/keleyi/phtml/image/index.htm 使用方法:1.导入JS插件 <script src="http://keleyi.com/keleyi/pmedia/jquery-1.9.1.min.js" type="text/javascript"></script> <script src="http://keleyi.com/