完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效


Posted in Javascript onNovember 12, 2014

1、效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动

2、实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在给图片添加一个动画的事件让他们可以滚动的播放出来上下滚动效果播放就是li标签里面的内容图片和文字把每一个li看成一个整体在滚动播放的时候进入div内的显示出来在最后离开div的时候隐藏在给整个动画效果设定一个时间就可以完整的运行。

3、运行环境

IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现

4、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合

5、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果

6、代码

<!DOCTYPE HTML">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<style type="text/css" media="screen">

*{margin:0;padding:0;list-style-type:none;}

a,img{border:0;}

body{font:12px/180% Arial, Helvetica, sans-serif, "新宋体";}

.demo{width:500px;margin:30px auto 0 auto;}

.demo h2{font-size:16px;color:#333;height:52px;line-height:24px;}

/* sidebar */

#sidebar{color:#AFB0B1;background:#0D171A;float:left;margin:0 0 24px;padding:15px 10px 10px;width:300px;}

#sidebar li{height:90px;overflow:hidden;}

#sidebar li h5{color:#A5A9AB;font-size:1em;margin-bottom:0.5em;}

#sidebar li h5 a{color:#fff;text-decoration:none;}

#sidebar li img{float:left;border:solid 3px #fff;margin-right:8px;display:inline;}

#sidebar li .info{color:#B1B1B1;font-size:1em;}

#sidebar .spyWrapper{height:100%;overflow:hidden;position:relative;}

</style>

<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>

<script type="text/javascript">

(function($){ 

    $.fn.simpleSpy = function (limit, interval){

        limit = limit || 4;

        /*让div始终显示4个单位的高度*/

        interval = interval || 4000;

        /*控制每个动画效果的时间4000毫秒就是4秒 从最下面的图片消失到第5张图片的从上面显示出来一个动画2秒一共4秒的时间*/

        return this.each(function(){

            var $list = $(this),

            /*获得所有列表项目的缓存*/

            items = [], 

            /*未初始化*/

            currentItem = limit,

            total = 0, 

            /*初始化以后*/

            height = $list.find('> li:first').height();

            /*列表限制li元素*/

            $list.find('> li').each(function(){

            /*获得缓存*/

                items.push('<li>' + $(this).html() + '</li>');

                /*获得所有列表的li里面的缓存*/

            });

            total = items.length;

            /*始终显示在缓存里的li*/

            $list.wrap('<div class="spyWrapper" />').parent().css({height : height * limit});

            /*控制div在图片消失的时候依然保持同样的高度不会因为div的消失而变化*/

            $list.find('> li').filter(':gt(' + (limit - 1) + ')').remove();

            /*通过调用遍历方法获得所有li元素在实现移除的方法*/

            function spy(){

            /*开始第二个图片从最上方插入的效果*/

                var $insert = $(items[currentItem]).css({height : 0,opacity : 0,display : 'none'}).prependTo($list);

                /*插入一个新的div,透明度和高度为零*/

                $list.find('> li:last').animate({ opacity : 0}, 1000, function(){

                /*通过遍历插入一个动画出现的效果 时间为1秒*/

                    $insert.animate({ height : height }, 1000).animate({ opacity : 1 }, 1000);

                    /* 增加新的第一个div的高度*/

                    $(this).remove();    

                    /*这个移除的效果是什么呢 就是在当我们第一次加载完页面的时候都会有几个只有图片没有属性值的li 清除就是在第一个动画结束后把没有属性的li给删除掉 没有属性的就是 没有高的 没有动画效果的li*/

                });

                currentItem++;

                /*永远在第一个li位置显示出现的是下一个li图片*/

                if(currentItem >= total){

                /*如果4张图片大于或等于所有的大于或等于整个图片的的话*/

                    currentItem = 0;

                    /*那么就从0开始*/

                }

                setTimeout(spy, interval)

                /*在ul和4秒内完成*/

            }

            spy();

            /*效果的整个开关*/

        });

    };   

})(jQuery);

</script>

<script type="text/javascript">

$(document).ready(function(){

    $('ul.spy').simpleSpy();

    /*ul.spy调用simpleSpy()模版方法*/

});

</script>

</head>

<body>

<div class="demo">

    <h2>jquery仿新浪微博图片文字列表间隙滚动淡进淡出滚动</h2>

    <div id="sidebar">

        <ul class="spy">

            <li>

                <a href="https://3water.com/" title="View round"><img width="70" height="70" src="images/1.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View round">round</a></h5>

                <p class="info">Nov 29th 2008 by neue</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View reflet"><img width="70" height="70" src="images/2.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View reflet">reflet</a></h5>

                <p class="info">Nov 29th 2008 by neue</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Kate Moross Little Big Planet"><img width="70" height="70" src="images/3.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Kate Moross Little Big Planet">Kate Moross Little Big Planet</a></h5>

                <p class="info">Nov 29th 2008 by neue</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Untitled"><img width="70" height="70" src="images/4.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Untitled">Untitled</a></h5>

                <p class="info">Nov 29th 2008 by mike1052</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View My Tutorial's Library"><img width="70" height="70" src="images/5.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View My Tutorial's Library">My Tutorial's Library</a></h5>

                <p class="info">Nov 29th 2008 by FrancescoOnAir</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/6.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Sandy — your free personal email assistant - Log in">Sandy — your free</a></h5>

                <p class="info">Nov 29th 2008 by John Doe</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/7.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Sandy — your free personal email assistant - Log in">Sandy — your free</a></h5>

                <p class="info">Nov 29th 2008 by John Doe</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Sandy — your free personal email assistant"><img width="70" height="70" src="images/8.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Sandy — your free personal email assistant">Sandy — your free</a></h5>

                <p class="info">Nov 29th 2008 by John Doe</p>

            </li>

            <li>

                <a href="https://3water.com/" title="View Values of n Blog"><img width="70" height="70" src="images/9.png" title="" /></a>

                <h5><a href="https://3water.com/" title="View Values of n Blog">Values of n Blog</a></h5>

                <p class="info">Nov 29th 2008 by John Doe</p>

            </li>

        </ul>

    </div>

</div>

</body>

</html>

怎么样,效果相当不错吧。

Javascript 相关文章推荐
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
JS实现的页面自定义滚动条效果
Oct 26 Javascript
AngularJS基础 ng-csp 指令详解
Aug 01 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
Oct 13 Javascript
js实现文本上下来回滚动
Feb 03 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
微信小程序下拉框组件使用方法详解
Dec 28 Javascript
js实现图片上传即时显示效果
Sep 30 Javascript
javascript实现计算器功能
Mar 30 Javascript
JavaScript实现世界各地时间显示
Sep 07 Javascript
javascript实现计算器功能详解流程
Nov 01 Javascript
JavaScript实现关键字高亮功能
Nov 12 #Javascript
javascript的函数作用域
Nov 12 #Javascript
浅析javascript的间隔调用和延时调用
Nov 12 #Javascript
jQuery的deferred对象详解
Nov 12 #Javascript
探寻Javascript执行效率问题
Nov 12 #Javascript
推荐8款jQuery轻量级树形Tree插件
Nov 12 #Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 #Javascript
You might like
php中实现字符串翻转的方法
2017/02/22 PHP
yii2局部关闭(开启)csrf的验证的实例代码
2017/07/10 PHP
PHP实现读取文件夹及批量重命名文件操作示例
2019/04/15 PHP
php设计模式之观察者模式定义与用法经典示例
2019/09/19 PHP
JavaScript 设计模式学习 Singleton
2009/07/27 Javascript
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
js打印纸函数代码(递归)
2010/06/18 Javascript
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
扩展js对象数组的OrderByAsc和OrderByDesc方法实现思路
2013/05/17 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
js实现select组件的选择输入过滤代码
2014/10/14 Javascript
jQuery基于json与cookie实现购物车的方法
2016/04/15 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
vue在App.vue文件中监听路由变化刷新页面操作
2020/08/14 Javascript
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
Python封装原理与实现方法详解
2018/08/28 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
2018/12/05 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
2018/12/05 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
python Cartopy的基础使用详解
2020/11/01 Python
css3高级选择器使用方法
2013/12/02 HTML / CSS
广告学专业推荐信范文
2013/11/23 职场文书
买卖车协议书
2014/04/21 职场文书
个人创业事迹材料
2014/12/30 职场文书
表扬信格式模板
2015/05/05 职场文书
新郎接新娘保证书
2015/05/08 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL