jQuery怎么实现图片切换动画效果
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,今天小编给大家分享一下jQuery怎么实现图片切换动画效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我
千家信息网最后更新 2025年01月17日jQuery怎么实现图片切换动画效果
今天小编给大家分享一下jQuery怎么实现图片切换动画效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
效果图:
直接上代码:
////// // 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 == 0) { for (var x = 0; x < numSPic; x ++) { _this.parent().find('ul li').eq(x).show(); } } } } // 快速点击切换时吗,动画出现滞后和反复问题, // 让当前动画直接到达末状态 ,继续下一个动画 $('#div').stop(false, ture); $('#div').stop().animate(); 集合使用效果更佳。 $(divStr).stop(false, true); //////// // 样式左移 // //////// if (status == 'left') { // 39 定位divStr 的left距离 父级元素的像素距离 // 等样式移动到最右边时,样式位置固定 // $(divStr).position().left 获取定位元素 left值。 if ($(divStr).position().left <= 39 ) { $(divStr).stop().animate({left:"39px"}); // 当从第一张切换到最后一张时,样式应在最右边。 if (num==total_num-1) { $(divStr).stop().animate({left:3 * 106 + 39 + "px"},s); } } else{ $(divStr).stop().animate({left:"-=106px"},s); } } else{ //////// // 样式右移 // //////// if ($(divStr).position().left >= 357) { $(divStr).stop().animate({left:"357px"}); // 当从最后一张切换到第一张时,样式应在最左边。 if (num==0) { $(divStr).stop().animate({left:"39px"},s); } } else{ $(divStr).stop().animate({left:"+=106px"},s); } } } src = _this.parent().find('ul li').eq(num).find('img').attr('src'); _this.parents('.xq-imgSW').find('.imgSW-top li img').attr('src',src); }); // 点击小图切换 大图 和小图上的样式。 $('.imgSW-bt li').click(function(){ var _this = $(this); var src; num = _this.index(); // parseInt(10/3); 整除 // 获取点击的位置,来计算 样式的位置。 var X = parseInt(_this.position().left/106); $(divStr).stop().animate({left:X*106+39+"px"},s); src = _this.find('img').attr('src'); _this.parents('.xq-imgSW').find('.imgSW-top li img').attr('src',src); }); });
HTML 界面代码:
是定位上去的
户型1 户型2 户型3 户型4 户型5 户型6 户型7 户型8
另外:
快速点击是会出现动画延迟现象,影响体验,处理动画延迟jQuery stop()语法:
$("#div").stop();//停止当前动画,继续下一个动画 $("#div").stop(true);//清除元素的所有动画 $("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画$("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态
在jq中有用到并有注释。
// 让当前动画直接到达末状态 ,继续下一个动画 $('#div').stop(false, ture); $('#div').stop().animate(); 集合使用效果更佳。
以上就是"jQuery怎么实现图片切换动画效果"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
动画
户型
切换
样式
状态
效果
图片
元素
知识
篇文章
位置
定位
代码
内容
延迟
移动
不同
很大
特殊
个数
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
龙城选择服务器
芝罘区管理系统软件开发外包公司
excel制作数据库并快速查找
单台服务器 并发
方舟联机哪种服务器好
多乐网络技术服务济南有限公司
收银机显示数据库链接失败
服务器自动退回系统登录界面
数据库中连接关系有哪三种
上海好的软件开发创新服务
onvif服务器
阿里云云服务器安全组配置
华为南京软件开发
英雄联盟登录进不去服务器
鄞州游戏软件开发设计
乐视TV 遥控 服务器
网络安全督查查些什么
足球球衣数据库
烟台指动网络技术有限公司
软件开发的相关工作岗位
数据库mod
数据库怎么调整用户位置
网络安全与犯罪调查
物流运输软件开发公司
综艺节目下载软件开发
sccm管理服务器
ip离线数据库调用
高温对服务器
数据库运维作业2答案
ei数据库什么都能查吗