Maison > interface Web > js tutoriel > Centre commercial d'imitation JavaScript pour mettre en œuvre un exemple de rotation de publicité d'image, compétences code_javascript

Centre commercial d'imitation JavaScript pour mettre en œuvre un exemple de rotation de publicité d'image, compétences code_javascript

WBOY
Libérer: 2016-05-16 15:16:06
original
1446 Les gens l'ont consulté

Lorsque vous parcourez le centre commercial, avez-vous déjà remarqué qu'il y a diverses publicités carrousel sur la page d'accueil du centre commercial ? Le contenu spécifique est le suivant :

1.Cadre HTML

Comme indiqué ci-dessous, il est divisé en trois parties. Il y a d'abord un div pour le contenir, puis un ul pour stocker des images, un ul pour stocker des numéros, et enfin deux boutons


<div class="out">
<ul class="img">
<li><img src="img/1.png" alt=""></li>
<li><img src="img/2.png" alt=""></li>
<li><img src="img/3.png" alt=""></li>
<li><img src="img/4.png" alt=""></li>
<li><img src="img/5.png" alt=""></li>
</ul>
<ul class="num">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<input class="left btn" type="button" value="<">
<input class="right btn" type="button" value=">">
</div>
Copier après la connexion

2.Configuration CSS

Tout d'abord, le div du cadre extérieur doit être défini pour avoir la même taille que l'image et aligné au centre. La position doit être définie sur un positionnement relatif, car les images suivantes et les autres images sont positionnées de manière absolue par rapport à. ce grand cadre

//div外框
.out{
width: 560px;
height: 350px;
margin: 0 auto;
position: relative;
border: 2px solid red;
}
Copier après la connexion

Ensuite, définissez les images. La superposition de cinq images est obtenue grâce à l'attribut absolu. Parce que nous définissons le conteneur parent sur relatif ci-dessus, les éléments enfants à l'intérieur sont positionnés de manière absolue par rapport au div parent

.
.img {
list-style-type: none;
}
.img li{
position: absolute;
top:0;
cursor: pointer;
}
Copier après la connexion

J'écrirai les prochains autres éléments dans le code avec des commentaires

.num{
list-style-type: none;
/*这个属性会使得text-align失效,所以下面手动写上宽度即可*/
position: absolute;
width: 100%;
bottom:0;
text-align: center;
}
.num li{
width: 20px;
height: 20px;
/*行高这个属性使得元素垂直居中*/
line-height: 20px;
text-align: center;
/*inline-block使得所有元素按行排列*/
display: inline-block;
background-color: #4a4a4a;
color: #fff;
border-radius: 50%;
/*鼠标放上去会有小手*/
cursor: pointer;
}
/*鼠标放到图片上的时候才显示btn*/
.out:hover .btn{
display: block;
}
.btn{
width: 30px;
height: 50px;
position: absolute;
display: none;
/*通过top和margin来定位属性到垂直居中*/
top: 50%;
margin-top: -30px;
border: 0;
/*使用rgba可以修改透明度*/
background-color: rgba(0,0,0,.5);
color: #fff;
}
.right{
right: 0;
}
Copier après la connexion

L'effet est le suivant :

3.carrousel de contrôle jquery

Réaliser un carrousel manuel

Cela signifie que lorsque la souris est déplacée vers le numéro ci-dessous, l'image correspondante s'affichera

//手动控制轮播图
$(".img li").eq(0).fadeIn(300);//加载页面的时候让第一个图片显示
$(".num li").eq(0).addClass("active");//给序号为1的加上红色背景
$(".num li").mouseover(function () {
//当前的数字显示红色背景,其他的数字都隐藏背景
$(this).addClass("active").siblings().removeClass("active");
//当前数字对应的图片显示,其他图片都隐藏
var index = $(this).index();
$(".img li").eq(index).stop().fadeIn(300).siblings().stop().fadeOut(300);
})
Copier après la connexion

Carrousel automatique

//实现自动轮播
var i = 0;//计时器控制数字
var t = setInterval(move,1500);
//该方法显示与序号对应的图片
function move() {
if (++i ==5){
i = 0;
}
$(".num li").eq(i).addClass("active").siblings().removeClass("active");
$(".img li").eq(i).stop().fadeIn(300).siblings().stop().fadeOut(300);
}
//鼠标移入后停止自动轮播
$(".out").hover(function () {
clearInterval(t);
}, function () {
t = setInterval(move,1500);
});
Copier après la connexion

Mettre en œuvre le carrousel de clics

//按钮移动事件
$(".right").click(function () {
move();
});
$(".left").click(function () {
i = i-2;
move();
});
Copier après la connexion

Contrôle dynamique de la quantité d'affichage numérique Li

Vous pouvez contrôler le nombre de tags par le nombre d'images

//手动控制li数量
var size = $(".img li").size();
for (var k=1;k<=size;k++){
$(".num").append("<li>"+k+"</li>");
}
$(".num li").eq(0).addClass("active");
Copier après la connexion
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal