zoukankan      html  css  js  c++  java
  • 超COOL的图片展示:jQuery实例

    HTML 代码K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    引用:
    <div id="photoShow">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        <div class="photo">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <img src="p1.jpg" />K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <span>张娜拉,韩国的</span>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        <div class="photo">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <img src="p2.jpg" />K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <span>My Digital Story</span>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        <div class="photo">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <img src="p3.jpg" />K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <span>不知道是什么图来的</span>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        <div class="photo">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <img src="p4.jpg" />K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <span>我的Logo,Studio拼错了都不知道,汗一个。</span>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        <div class="photo">K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <img src="p5.jpg" />K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            <span>四季图吧这是,但我分不清夏和秋</span>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        </div>K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    </div>
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    然后我们写一个CSS来控制一下这个HTML的样式,CSS比较菜,将就吧,达到效果就好:K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    CSSK3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    引用:
    #photoShow{}{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        border: solid 1px #C5E88E;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        overflow: hidden; /**//*图片超出DIV的部分不显示*/K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        580px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        height: 169px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        background: #C5E88E;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        position: absolute;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    }K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    .photo{}{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        position: absolute;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        top: 0px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        490px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        height: 169px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    }K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    .photo img{}{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        490px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        height: 169px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    }K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    .photo span{}{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        padding: 5px 0px 0px 5px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        490px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        height: 30px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        position: absolute;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        left: 0px;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        bottom: -32px; /**//*介绍内容开始的时候不显示*/K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        background: black;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        filter: alpha(opacity=50); /**//*IE透明*/K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        opacity: 0.5; /**//*FF透明*/K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
        color: #FFFFFF;K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    }
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    完成上面的准备工作后,我们下面开始jQuery代码。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    首先就是做一些初始化的工作:K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    引用:
    $(document).ready(function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgDivs = $("#photoShow>div");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgNums = imgDivs.length; //图片数量K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var divWidth = parseInt($("#photoShow").css("width")); //显示宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgWidth = parseInt($(".photo>img").css("width")); //图片宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var minWidth = (divWidth - imgWidth)/(imgNums-1); //显示其中一张图片时其他图片的显示宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var spanHeight = parseInt($("#photoShow>.photoirst>span").css("height")); //图片介绍信息的高度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            imgDivs.each(function(i){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    $(imgDivs).css({"z-index": i, "left": i*(divWidth/imgNums)});K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    $(imgDivs).hover(function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            //处理鼠标进入的时候K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    },function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            //处理鼠标离开的时候K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    首先我们定义了一些变量,方便我们后面使用。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    然后就是使用了一个 each() 的函数在每一个匹配的元素进行事件处理。这里是每一个<div class="photo"> 元素分别进行事件的处理。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    然后看一下下面这一句:K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    $(imgDivs).css({"z-index": i, "left": i*(divWidth/imgNums), "top":"0px"});K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    这句是通过CSS来控制每一个图片的层次和显示位置。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    然后就是用一个 hover() 函数来处理鼠标的hover事件。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    首先看一下鼠标进入图片的时候该怎么处理:K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    引用:
    $(imgDivs).hover(function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            //$(this).find("img").css("opacity","1");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            $(this).find("span").stop().animate({bottom: 0}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            imgDivs.each(function(j){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    if(j<=i){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            $(imgDivs[j]).stop().animate({left: j*minWidth}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    }else{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            $(imgDivs[j]).stop().animate({left: (j-1)*minWidth+imgWidth}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    }K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    },function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            //处理鼠标离开时候的事件K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    在这里所有的动画效果都是通过 animate() 函数修改CSS来控制元素的显示位置来实现的。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    这里注意一下就是在调用 animate() 函数前都调用了 stop() 函数。stop() 函数是用来停止当前元素的所有执行中的事件。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    j<=i 的判断就是判断鼠标hover的当前图片和该图片前面的图片与该图片后面的图片的分割线。K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    鼠标离开的处理也差不多,下面之完整的代码:K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    引用:
    $(document).ready(function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgDivs = $("#photoShow>div");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgNums = imgDivs.length; //图片数量K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var divWidth = parseInt($("#photoShow").css("width")); //显示宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var imgWidth = parseInt($(".photo>img").css("width")); //图片宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var minWidth = (divWidth - imgWidth)/(imgNums-1); //显示其中一张图片时其他图片的显示宽度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            var spanHeight = parseInt($("#photoShow>.photoirst>span").css("height")); //图片介绍信息的高度K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            imgDivs.each(function(i){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    $(imgDivs).css({"z-index": i, "left": i*(divWidth/imgNums)});K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    $(imgDivs).hover(function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            //$(this).find("img").css("opacity","1");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            $(this).find("span").stop().animate({bottom: 0}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            imgDivs.each(function(j){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    if(j<=i){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                            $(imgDivs[j]).stop().animate({left: j*minWidth}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    }else{K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                            $(imgDivs[j]).stop().animate({left: (j-1)*minWidth+imgWidth}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    }K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    },function(){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            imgDivs.each(function(k){K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    //$(this).find("img").css("opacity","0.7");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    $(this).find("span").stop().animate({bottom: -spanHeight}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                                    $(imgDivs[k]).stop().animate({left: k*(divWidth/imgNums)}, "slow");K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                            });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
                    });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
            });K3·ß~·J¡@Ýwww.pin5i.com>Á³7ø4O
    });
  • 相关阅读:
    java数组的相关方法
    spring boot 文件目录
    mysql 数据库安装,datagrip安装,datagrip连接数据库
    linux maven 的安装与配置
    java String字符串常量常用方法
    java 命名规范
    deepin 安装open jdk
    jetbrains(idea,webstorm,pycharm,datagrip)修改背景,主题,添加特效,汉化
    JVM学习(九)volatile应用
    JVM学习(八)指令重排序
  • 原文地址:https://www.cnblogs.com/luluping/p/1181517.html
Copyright © 2011-2022 走看看