L'exemple de cet article décrit l'implémentation JS d'un code publicitaire qui affiche d'abord la grande image, puis se réduit et affiche automatiquement la petite image. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :
Il s'agit d'un très bon effet d'image JavaScript. Lorsque la page Web est ouverte pour la première fois, une grande image s'affiche, tout comme une publicité bloquant l'écran. Après un certain temps, elle se ferme automatiquement et lentement. la fois, la publicité est contrôlée par JS. Les images sont toujours affichées en haut de la page web. On voit souvent cet effet sur certains grands portails. Personnellement, je trouve ça plutôt cool !
Jetons un coup d'œil aux captures d'écran de l'effet de course :
L'adresse de la démo en ligne est la suivante :
http://demo.jb51.net/js/2015/js-big-to-small-pic-adv-codes/
Le code spécifique est le suivant :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>先显示大图随后自动收起显示小图的JS广告</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <style type="text/css"> html,body{margin:0;text-align:center;font-size:12px;} img{border:none} p{margin:0px} </style> <script type="text/javascript"> var showAD = { curve: function(t, b, c, d, s) { if ((t /= d / 2) < 1) return c / 2 * t * t * t + b; return c / 2 * ((t -= 2) * t * t + 2) + b }, fx: function(from, to, playTime, onEnd) { var Me = this, who = this.adWrap, position = 0, changeVal = to - from, curve = this.curve; playTime = playTime / 10; who.style.overflow = 'hidden'; function _run() { if (position++<playTime) { who.style.height = Math.max(1, Math.abs(Math.ceil(curve(position, from, changeVal, playTime)))) + "px"; setTimeout(_run, 10) } else { onEnd && onEnd.call(Me, to) } }; _run() }, init: function(info) { var Me = this, loadImg = new Image; loadImg.src = info.endImgURL; window.onload=function() { Me.endImgURL = info.endImgURL; Me.img = document.getElementById(info.imgID); Me.adWrap = document.getElementById(info.adWrapID); var max = Me.img.height; setTimeout(function() { Me.fx(max, 0, 500, function(x) { this.img.src = this.endImgURL; this.curve = function(t, b, c, d) { if ((t /= d) < (1 / 2.75)) { return c * (7.5625 * t * t) + b } else if (t < (2 / 2.75)) { return c * (7.5625 * (t -= (1.5 / 2.75)) * t + .75) + b } else if (t < (2.5 / 2.75)) { return c * (7.5625 * (t -= (2.25 / 2.75)) * t + .9375) + b } else { return c * (7.5625 * (t -= (2.625 / 2.75)) * t + .984375) + b } }; this.fx(0, this.img.height,600) }) }, info.timeout || 1000) }; } }; showAD.init({ adWrapID: 'ad_box_2009_06', imgID: 'adImg', endImgURL: 'images/as.jpg' }); </script> </head> <body> <div id="ad_box_2009_06"><img src="images/ab.jpg" id="adImg"></div> </body> </html>
J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.