手风琴效果插件

  <div class="sfmenu">
        <ul>
            <li class="bg">
                <a href="#">
                    <img src="1.jpg" alt="图1"/>
                    <div class="Miaoshu Miaoshu_moren">
                        <p></p>
                        <span></span>
                    </div>
                </a>
            </li>
            <li class="sx">
                <a href="#">
                    <img src="2.jpg" alt="图1"/>
                    <div class="Miaoshu">
                        <p></p>
                        <span></span>
                    </div>
                </a>
            </li>
            <li class="sx">
                <a href="#">
                    <img src="3.jpg" alt="图1"/>
                    <div class="Miaoshu">
                        <p></p>
                        <span></span>
                    </div>
                </a></li>
            <li class="sx dsde" >
                <a href="#">
                    <img src="4.jpg"  alt="图1"/>
                    <div class="Miaoshu">
                        <p></p>
                        <span></span>
                    </div>
                </a></li>
            <li class="sx" id="zuihou">
                <a href="#">
                    <img src="5.jpg" alt="图1"/>
                    <div class="Miaoshu">
                        <p></p>
                        <span></span>
                    </div>
                </a></li>
        </ul>
    </div>

  这是css部分的样式注意宝宝的布局方式

       *{margin: 0;padding: 0}
        .sfmenu{
            width: 600px;
            height: 380px;
            border: 1px solid #cccccc;
            margin: 100px auto;
        }
        .sfmenu>ul{
            list-style: none;
            width: auto;
            position: relative;
        }
       ul>li{
            float: left;
            background:url("3.jpg");
            height: 380px;
            position: relative;
        }
        img{
            width:100%;
            height: 380px;
            position: absolute;
            border:0px;
        }
        .sx{
            width: 25px;
            height: 380px;
        }
        .bg{
            width: 500px;
        }
        #zuihou{
            position:absolute;
            right: 0px;
        }
        .Miaoshu{
            width: 100%;
            height: 40px;
            position: absolute;
            bottom: 0;
            background:rgba(0, 0, 0, 0.8);
            color: #ffffff;
            display: none;
            line-height: 20px;
        }
        .Miaoshu>p{font-size: 0.8em;}
        .Miaoshu_moren{display: block}
        .dsde{position: absolute;right: 20px;}

js来了重点来了运用了jquery封装插件完成这个效果

 $.fn.extend({
        sfq:function(a,miaoshu){
            //计时器
            var timer=setInterval(sfqd,5000);
            var i=0;
            var timer2;
            var $ul_li=$("ul>li");
            function sfqd(){
                //定义一个用于文字操作的闭包函数
                function wz(ind){
                    var $miaoshu_id=$(miaoshu.id);
                    $miaoshu_id.find("p").text("").css({transition:"all 1s"});
                    $miaoshu_id.find("span").text("").css({transition:"all 1s"});
                    $miaoshu_id.css({display:"none"});
                    $miaoshu_id.eq(ind).css({display:"block"});
                    $miaoshu_id.eq(ind).find("p").text(miaoshu.hbj[ind]);
                    $miaoshu_id.eq(ind).find("span").text(miaoshu.spanbj[ind]);
                }
                wz(i);
                $ul_li.removeAttr("class").addClass(a.yuan);
                $ul_li.eq(i).addClass(a.xian).css({ transition:"all 0.3s" });
                i++;
                if(i==5){
                    i=0;
                }
                return wz;
               }
          //定义一个显示文字的闭包
          var xg=sfqd();
            xg(0);//默认显示的第一个的文字
            $(this).on({
                "mouseenter":function(){
                    clearInterval(timer);//清除定时器
                    clearInterval(timer2);
                    $(this).addClass(a.xian).removeClass(a.yuan).css({
                       transition:"all 0.3s"
                    });
                    $(this).siblings().removeAttr("class").addClass(a.yuan);
                    xg($(this).index());
                    },
                "mouseleave": function () {
                    //重新开启计时器
                     var j=$(this).index();
                    timer2=setInterval(function(){
                        if(j>3){
                            j=-1;
                        }
                        xg(j+1);
                        $ul_li.removeAttr("class").addClass(a.yuan);
                        $ul_li.eq(j+1).addClass(a.xian).css({ transition:"all 0.3s" });
                        j++;
                    },5000);
                    $(this).find("ul").css("display","none");
                }
            });
        }
    });

在页面中调用封装的插件(这只是我的默认的实例你可以根据想要的更改内容)页面中图片的展开与收缩有点变形,如果你想,你可以做成背景图片怎么好看怎么来

 var ys={yuan:"sx",xian:"bg"};//现在大图样式和和小图样式的class传入到插件里面
    //定义描述文字对象
    var miaoshu={
        id:".Miaoshu",//描述文字的盒子
        hbj:["浪漫雪景","美丽初夏","人间天堂","秋风拂面","春意昂然"],//h标记
        spanbj:["美丽的冬天","美丽的夏天","美丽的冬天","美丽的夏天","美丽的秋天"]//span的描述信息
    };
    //传入参数调用插件
    $("ul>li").sfq(ys,miaoshu);
时间: 2024-10-15 23:58:58

手风琴效果插件的相关文章

jQuery插件实例四:手风琴效果[无动画版]

手风琴效果就是内容的折叠与打开,在这个插件中,使用了三种数据来源:1.直接写在DOM结构中:2.将数据写在配置项中:3.从Ajax()中获取数据.在这一版中,各项的切换没有添加动画效果,在下一版中会是有动画效果的. 在这个插件中,CSS和JS的配置非常重要,需要特别注意.另外,加个思考,请先看完后再想这个问题:当点击其中某项时,给width直接添加animate是否合适,当快速在其上移动时,如何保证效果? 效果图预览 插件JS accordionB.js 1 ; 2 (function ($,

分享一款jquery+css3实现的手风琴效果代码【js插件】

代码适用于大部分浏览器 演示Demo地址:请猛戳 效果图片 程序吧下载地址 分享一款jquery+css3实现的手风琴效果代码[js插件],布布扣,bubuko.com

基于css3实现手风琴效果

终于在凌晨一点钟逼迫自己写博客.一直想记录自己的前端工程师之路,但毕竟拖延症晚期.因为第一篇随笔,所以多写一点废话吧.刚刚从学校毕业,放弃了一直学习的java,而想从事前端的工作.第一是觉得osgi这类的java框架实在太过笨重和繁琐,也许是真的好用,但也觉得真心不适合我.然后么,也许有点俗,前端真的能做很多华丽花哨的东西出来.到现在也工作一个月了,工资不高,老板不好,但社会毕竟不会总让人满意,没人有手把手教你成大神的话,只能自己努力了.也许会有很多弯路,但做技术的嘛,有磨练总是好事. 对于我个

10几款网页图片手风琴效果代码

简单的jquery手风琴插件带标题的水平手风琴图片轮换代码 jQuery CSS3水平滑动手风琴文字图片切换特效代码 jquery水平滑动手风琴菜单鼠标点击图片展示手风琴菜单代码 jquery手风琴相册幻灯片图片横向滚动展开收缩代码 jquery手风琴菜单制作横向菜单切换手风琴效果代码 jquery动漫人物网的横向手风琴切换效果 jquery水平手风琴鼠标滑过图片标题水平滑动切换 jquery 水平手风琴鼠标滑过标题图片滑动切换 原生js水平手风琴弹性相册图片展示 jQuery的简易手风琴插件_

基于 jQuery 实现垂直滑动的手风琴效果

今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底部滑动. 效果演示     插件下载 HTML 示例代码: <div id="va-accordion" class="va-container"> <div class="va-nav"> <span class=&q

多功能前台交互效果插件superSlide

平时我们常用的“焦点图/幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”等效果要加载n个插件,又害怕代码冲突又怕不兼容 现在我们只需求要一个多功能前台交互效果插件superSlide就可以搞定了 现在介绍这个插件SuperSlide.2.1.1 下载地址:http://www.superslide2.com/ js.min文件 /*! * SuperSlide v2.1.1 * 轻松解决网站大部分特效展示问题 * 详尽信息请看官网:http://www.SuperSlide2.com/ * *

jQuery效果 - 简单的手风琴效果

实现效果如图所示: html结构: <div class="item_box box10"> <div class="item_box_wp"> <div class="voice_2"> <ul> <li class="li1" id="li1"> <div class="fold" style="displa

超简单手风琴效果制作

手风琴最终效果如下: 要实现以上效果非常简单,无需插件的 Step.1 html结构创建 <div id="firstpane" class="menu_list"> <p class="menu_head">Header-1</p> <div class="menu_body"> <a href="#">Link-1</a> <

网页设计中手风琴效果的20个最佳实践

在这篇文章中,分享一组网页设计中手风琴效果的20个最佳实践.当你想在有限的页面空间内展示多个内容片段的时候,手风琴(Accordion)效果就显得非常有用,它可以帮助你以对用户非常友好的方式实现多个内容片段之间的切换. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTML5 & JavaScript 特效