Maison > Article > interface Web > jQuery réalise l'effet de fondu d'entrée et de sortie de l'image text_jquery
Cet exemple explique principalement l'effet de jquery imitant la liste de textes d'images Sina Weibo de haut en bas, en fondu entrant et sortant, en défilement intermittent de haut en bas. Je le partage avec vous pour votre référence. Le contenu spécifique est le suivant
.1. Description de l'effet et de la fonction : la liste de textes d'images imitation Sina Weibo apparaît et disparaît en fondu et défile de haut en bas par intermittence
2. Le principe de mise en œuvre est de configurer d'abord le div pour afficher uniquement 4 images. Les images supplémentaires seront automatiquement masquées. Ensuite, ajoutez un événement d'animation aux images afin qu'elles puissent défiler et jouer. L'effet est joué par la balise li. Le contenu, les images et le texte à l'intérieur traitent chaque li dans son ensemble, lors du défilement, ils entrent dans le div et sont affichés lorsqu'ils quittent finalement le div, ils sont masqués. effet d'animation pour fonctionner complètement.
3. Environnement opérationnel
Il peut être implémenté dans IE6 IE7 IE8 et supérieur dans les navigateurs Firefox et Google Chrome
4. Créez un nouveau fichier pour le package compressé de toutes les images, puis décompressez le package et placez-le dans un dossier. Le package compressé des images peut être vu et téléchargé en bas de la page. il n'est pas nécessaire de modifier le nom du dossier car il a déjà été écrit et le chemin dans html5 correspond à
5. Lors de l'enregistrement du fichier html créé, changez le type d'encodage en (UTF-8 avec signature) afin que certains caractères chinois puissent être affichés normalement. Changez le type d'enregistrement (T) en (tous les fichiers (*.*) ), mettez les dossiers html5 et images décompressées dans le même dossier
Rendu :
Code :
<!DOCTYPE HTML"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <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="#" title="View round"><img width="70" height="70" src="images/1.png" title="" /></a> <h5><a href="htt#" title="View round">round</a></h5> <p class="info">Nov 29th 2008 by neue</p> </li> <li> <a href="#" title="View reflet"><img width="70" height="70" src="images/2.png" title="" /></a> <h5><a href="#" title="View reflet">reflet</a></h5> <p class="info">Nov 29th 2008 by neue</p> </li> <li> <a href="#" title="View Kate Moross Little Big Planet"><img width="70" height="70" src="images/3.png" title="" /></a> <h5><a href="#" 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="#" title="View Untitled"><img width="70" height="70" src="images/4.png" title="" /></a> <h5><a href="#" title="View Untitled">Untitled</a></h5> <p class="info">Nov 29th 2008 by mike1052</p> </li> <li> <a href="#" title="View My Tutorial's Library"><img width="70" height="70" src="images/5.png" title="" /></a> <h5><a href="#" 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="#" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/6.png" title="" /></a> <h5><a href="#" 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="#" title="View Sandy — your free personal email assistant - Log in"><img width="70" height="70" src="images/7.png" title="" /></a> <h5><a href="#" 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="#" title="View Sandy — your free personal email assistant"><img width="70" height="70" src="images/8.png" title="" /></a> <h5><a href="#" 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="#" title="View Values of n Blog"><img width="70" height="70" src="images/9.png" title="" /></a> <h5><a href="#" 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>
Ce qui précède est le code permettant à jQuery d'implémenter l'effet de fondu d'entrée et de sortie du texte de l'image. J'espère que cela sera utile à l'apprentissage de chacun.