jQuery图片切换动画效果 处理动画延迟

本文介绍了如何使用jQuery创建图片切换动画效果,并针对快速点击导致的动画延迟问题,提出了通过stop()方法进行优化的解决方案。适合前端初学者参考。
摘要由CSDN通过智能技术生成

最近在写前端页面,作为只写过两个月前端的人来说,感觉用jq什么的写出来自己想要的效果真的是太棒了,刚好今天花了一下午完成了一个图片切换的特效:

直接上代码

效果图



jq 代码,都是自己写出来的,弄了一下午完成的,初学者,整理以后留着用。


//
//  2017-2-27 //
//
$(function(){ 
    var num    = 0;
    var divStr = '#imageShowSmallAnchor'; // 移动 div
    var s      = 300;
    $('.imgNum').click(function(){
        var _this     = $(this);
        var status    = _this.attr('data-status');
        var total_num = _this.parent().find('ul li').length;
        var numSPic   = 4;//最多显示的小图的个数
        var src;
        
       
        if(status == 'left'){
            if(num <= 0){
                num = total_num-1;
            }else{
                num--;
            }
        }else{
            if(num >= total_num-1){
                num = 0;
            }else{
                num++;
            }
        }
        // 4 一次做多显示四张小图   $("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画
        // 第一种情况 当小图数量小于5时, 直接进行右移。
        if (total_num <= numSPic) {$(divStr).stop(true,false).animate(
            {left:num*106+39+"px"},s);
        } else{
            
            // 图片左移 //
            
        	if (status == 'left') { 
        		if (num < total_num - numSPic) {
        			_this.parent().find('ul li').eq(num).show();
        		} else{
                    // 特殊情況  左移时,从第一张图切换到最后一张图时 
                    // if判断 当前是否显示最后张图,如果不是最后一张图 则当变成右移时,无需刷新小图的显示状态。
                    // 左移时,需要将李 全部隐藏后, 再将最后的 numSPice 张图显示出来,
        			if (num == total_num - 1) {
        				_this.parent().find('ul li').hide();
	        			for (var x = total_num-1; x >= total_num - numSPic; x--) {
		        			_this.parent().find('ul li').eq(x).show();
		        		}
        			}
        		}
        	} else{
                
                // 图片右移 //
                
        		if (num >= numSPic) {
        			_this.parent().find('ul li').eq(num-numSPic).hide();
        		} else{
                    // 特殊情況  右移时,从最后一张图切换到第一张图时 
                    // 判断 是否是第一张图, 如果不是则再变成左移时,无需刷新小图的显示状态
        			if (num =&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值