【js与jquery】幻灯片轮播切换效果

1.效果如图所示:

 

2.html代码:

<div class="ad" >
			 <ul class="slider" >
				<li><img src="images/ads/1.gif"/></li>
				<li><img src="images/ads/2.gif"/></li>
				<li><img src="images/ads/3.gif"/></li>
				<li><img src="images/ads/4.gif"/></li>
				<li><img src="images/ads/5.gif"/></li>
			  </ul>
			  <ul class="num" >
				<li>1</li>
				<li>2</li>
				<li>3</li>
				<li>4</li>
				<li>5</li>
			  </ul>
</div>


3.jquery代码:

/*首页广告效果*/
/*
1.当光标滑过数字1时,需要显示第一张图片;当光标滑过数字2时,需要显示第二张图片;以此类推。因此,如果能正确获取到
当前滑过的数字,那么完成该效果就容易多了
2.首先定义一个showImage()函数,然后给函数传递一个参数index,index代表当前要显示图片的索引。获取当前滑过的<li>元
素在所有<li>元素中的索引可以使用jquery的index()方法来获取。其中.eq(0).mouseover()部分是用来初始化的,让第一个数
字高亮并显示第一个广告。如果需要,可以修改eq()中的数字来让页面默认显示任意一个广告
3.当光标在广告右下角的数字上滑过时,广告就会有上下翻动的效果,但是如果不去碰它,那么广告始终不会动,因此需要使用
trigger()方法来触发一下
*/
$(function(){
     var len  = $(".num > li").length;
	 var index = 0;
	 var adTimer;
	 $(".num li").mouseover(function(){
		index  =   $(".num li").index(this);
		showImg(index);
	 }).eq(0).mouseover();	
	 //滑入 停止动画,滑出开始动画.
	 $('.ad').hover(function(){
			 clearInterval(adTimer);
		 },function(){
			 adTimer = setInterval(function(){
			    showImg(index);//显示广告效果
				index++;//没调用一次,给index加1
				//如果index的大小已经等于广告展示的总数量,那么把index设置为零,让广告效果又重新开始
				if(index==len){index=0;}
			  } , 3000);
	 }).trigger("mouseleave");//自动触发hover的第二个函数
})
// 通过控制top ,来显示不同的幻灯片
function showImg(index){
        var adHeight = $(".content_right .ad").height();//获取产品广告的高度
		//使用animate来达到动画效果,每个图片滚动的高度有所不同,可以通过传入的参数index的值乘以产品广告的高度来得到
		//stop(true,false):主要是为了将未执行完的动画队列清空,但不将正在执行的动画跳转到末状态
		$(".slider").stop(true,false).animate({top : -adHeight*index},1000);
		//给当前的广告数字添加高亮样式
		$(".num li").removeClass("on")
			.eq(index).addClass("on");
}


 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现类似轮播效果的卡片切换,你可以使用 jQuery 的动画和事件处理函数来实现。下面是一个简单的示例代码: HTML 结构: ```html <div class="carousel"> <div class="card active">Card 1</div> <div class="card">Card 2</div> <div class="card">Card 3</div> </div> <button id="prevBtn">Previous</button> <button id="nextBtn">Next</button> ``` CSS 样式: ```css .carousel { width: 300px; height: 200px; position: relative; overflow: hidden; } .card { width: 100%; height: 100%; position: absolute; display: none; } .card.active { display: block; } ``` jQuery 代码: ```javascript $(document).ready(function() { var currentIndex = 0; var cards = $('.card'); // 显示当前卡片 function showCard(index) { cards.removeClass('active'); cards.eq(index).addClass('active'); } // 下一个卡片 $('#nextBtn').click(function() { currentIndex++; if (currentIndex >= cards.length) { currentIndex = 0; } showCard(currentIndex); }); // 上一个卡片 $('#prevBtn').click(function() { currentIndex--; if (currentIndex < 0) { currentIndex = cards.length - 1; } showCard(currentIndex); }); // 自动轮播 setInterval(function() { currentIndex++; if (currentIndex >= cards.length) { currentIndex = 0; } showCard(currentIndex); }, 3000); }); ``` 以上代码实现了一个简单的卡片切换轮播效果。点击 "Next" 按钮可以切换到下一个卡片,点击 "Previous" 按钮可以切换到上一个卡片。同时还设置了自动轮播功能,每隔 3 秒自动切换到下一个卡片。你可以根据自己的需求进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值