最近在写前端页面,作为只写过两个月前端的人来说,感觉用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 == 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 界面代码:
<div class="xq-imgSW"> <div class="imgSW-top"> <ul> <li><img src="/UploadFiles/2021-04-02/xq-img1.png"><div id="imageShowSmallAnchor"></div> 是定位上去的
另外:
快速点击是会出现动画延迟现象,影响体验,处理动画延迟jQuery stop()语法:
$("#div").stop();//停止当前动画,继续下一个动画 $("#div").stop(true);//清除元素的所有动画 $("#div").stop(false, true);//让当前动画直接到达末状态 ,继续下一个动画 $("#div").stop(true, true);//清除元素的所有动画,让当前动画直接到达末状态在jq中有用到并有注释。
// 让当前动画直接到达末状态 ,继续下一个动画 $('#div').stop(false, ture); $('#div').stop().animate(); 集合使用效果更佳。作为前端新手,记录下,以后可能会用到。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“jQuery图片切换动画效果”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月09日
2024年11月09日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]