Ajax 板


LINE

※ 引述《Tethys (花芯)》之铭言: : 这是一个可以把图片切换左右滑动的原始码 : 来源: : http://www.veryhuo.com/a/view/43357.html : $(function(){ 下面这个区块只有在一开始会执行,也就是初始化的动作 ============================================================== : var i=0; //指定变数「i」的初始值为零 : var li = $(".lxfscroll li"); //指定li是选择html中class="lxfscroll"的li元素 : var n=li.length-1; //指定变数「n」等於li的数量-1 (假设li有六个就是五) : var speed = 300; //指定速度为300 : li.not(":first").css({left:"400px"}); // 如果不是li中的第一项,指定往右滑动400px : li.eq(n).css({left:"-400px"}); //针对在li中的「n」项(假设是5) 往左滑400px 上面两行,应该不能说是滑动,因为他只是单纯改CSS,是直接把那个物件放在那个位置 并没有做任何补间动画。 : //因为 .eq是从零开始,所以其实是指第六项 : //所以滑到第六张图的时候就往左滑400px 你上面说的这句,判断他的逻辑不存在於上面的程式码中,是在之後的部分。 ============================================================== 这边是按下"下一个"的时候会执行的东西 ============================================================== : lxfNext=function (){ //指定一个功能"lxfNext" : if (!li.is(":animated")) { //"如果li正在动画中"是错的即为true,就执行下面 : (这里的惊叹号是表示not?) : if (i>=n){i=0;li.eq(n).animate({left:"-400px"},speed); : //如果「i」大於或等於「n」,执行{将「i」归零,指定li中的第「n」项产生动画 : 往右滑400px} : //然後後面{执行}的也就是指滑到第六张图片就会往左滑400px,表示移到上一张图片? 应该不能说是往左滑400px,他的意思是叫他滑到left = -400px的位置 如果要说"往左滑 400px"应该要写作"-=400px"才对,下面也一样 : li.eq(i).animate({left:"0px"},speed); : //li中的第0项(就是第一张图片)产生动画:往最初位置移动 : else{i++;li.eq(i-1).animate({left:"-400px"},speed); : //否则「i」累加数值;指定「i-1」之项目产生动画:往左滑400px : //意指「i(零)会持续加一」直到大於或等於「n(五)」 : //li中的第(i-1项,可能是1-1,2-1..)会产生动画往左滑400px : //表示滑到第五张之前都是往左滑的 : li.eq(i).animate({left:"0px"},speed);}; : // li中的第「i」项(原本是零)产生动画:返回原位 : // 这里不太懂>"< 「i」会是哪个值? 因为i=0只被初始化一次,然而按钮不只被执行一次,所以每次按下按钮都会变更他的值 : li.not("eq(i)").css({left:"400px"}); : // li若不是第「i」值时执行动画:往右滑400px : $("i").text(i+1); : }else{}; : }; ========================================================================== 这边是按下"上一个"的时候会执行的东西 ========================================================================== : lxfLast=function (){ : if (!li.is(":animated")) { : if (i<=0){i=n;li.eq(0).animate({left:"400px"},speed); : li.eq(n).animate({left:"0px"},speed); : }else{i--;li.eq(i+1).animate({left:"400px"},speed); : li.eq(i).animate({left:"0px"},speed);} : li.not("eq(i)").css({left:"-400px"}); : $("i").text(i+1); : }; : }; : }); : 想请教大家我这样的解释对吗?? : 新手学习中,请多多指教,谢谢~~!! ========================================================================== 这个范例只是把不想显示的东西直接放到你看不到的地方而已 等到要用的时候再让他滑进来,假设有六张图 一开始应该是 1 23456(都在同一个位置上) 接着每按一次就把图片滑到中间,再按一次就把他滑到左边看不到的地方这样 在看不到的区域里面就都是叠在一起的了。 我想原po要注意程式码中各个片段的逻辑性,以及各个片段的执行时机为何 这样才有办法看得懂~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 180.176.140.42
1F:→ danny8376:最初位置是 6 1 2345 09/23 20:43
2F:→ danny8376:是说 else{i++;li.eq(i-1). ~~~ ,speed); 09/23 20:47
3F:→ danny8376:这行要不就写成 else{li.eq(i++). ~~~ ,speed); 09/23 20:48
4F:→ danny8376:不然就 else{li.eq(i). ~~~ ,speed);i++; 09/23 20:48
5F:→ danny8376:作者先累加之後再去-1来用真是奇妙www 09/23 20:48
6F:→ danny8376:顺便提一下 这里面有个有小问题的地方 09/23 21:01
7F:→ danny8376:li.not("eq(i)").css({left:" [+/-] 400px"}); 09/23 21:01
8F:→ danny8376:应该改成 li.not(":eq(i)").css({ ~~~ 09/23 21:02
9F:→ danny8376:前者在旧版本jQuery中会尝试解析 09/23 21:02
10F:→ danny8376:而新版jQuery则比较严谨要打完整才行 09/23 21:02
11F:→ danny8376:话说原本看元PO好像不是太懂这程式的作法 09/23 21:03
12F:→ danny8376:所以画图想解释 结果画到一半就想到会不会有人已经回了 09/23 21:04
13F:→ danny8376:结果还真的有人回了XDD 09/23 21:04
14F:→ danny8376:看了看... 回给原PO看的 这里面的i就是index 09/23 21:07
15F:→ danny8376:简单来说这里的i就是目前显示的是第几个图片 09/23 21:07
16F:→ danny8376:(index从0开始的就是了) 这样应该会好懂一些 09/23 21:08
17F:推 Tethys:大感激>"< 实在太感谢了! 不过我觉得这个写得好复杂 09/24 17:44
18F:→ Tethys:可能我要再熟一点才会比较了解 话说用算式表示逻辑真难.QQ 09/24 17:44
19F:→ Tethys:也谢谢danny热心的解说~~感动QQ 09/24 17:44







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP