JavaScript 图片滑动切换效果

序一(08/07/06)

看到alibaba的一个图片切换效果,感觉不错,想拿来用用。但代码一大堆的,看着昏,还是自己来吧。
由于有了做图片滑动展示效果的经验,做这个就容易得多了。


序二(09/03/19)

自写了Tween缓动之后就很想重新写过这个效果,近来有点时间,终于可以动手了。
除了改成Tween缓动,也改进了程序算法,不过原理还是一样的。


效果预览



     

     


    程序说明

    原理就是通过不断设置滑动对象的left(水平切换)和top(垂直切换)来实现图片切换的动态效果。

    首先需要一个容器,程序会自动设置容器overflow为hidden,如果不是相对或绝对定位会同时设置position为relative,
    滑动对象会设置为绝对定位:

    var p = CurrentStyle(this._container).position;
    == "relative" || p == "absolute" || (this._container.style.position = "relative");
    this._container.style.overflow = "hidden";
    this._slider.style.position = "absolute";


    如果没有设置Change切换参数属性,会自动根据滑动对象获取:

    this.Change = this.options.Change ? this.options.Change :
        
    this._slider[bVertical ? "offsetHeight" : "offsetWidth"/ this._count;


    执行Run方法就会开始进入切换,其中有一个可选参数用来重新设置要切换的图片索引:

    index == undefined && (index = this.Index);
    index 
    < 0 && (index = this._count - 1|| index >= this._count && (index = 0);

    之后就到设置使用tween缓动时需要的参数了,
    包括_target(目标值)、_t(时间)、_b(初始值)和_c(变化量):

    Code


    还有Duration(持续时间)是自定义属性。

    参数设置好后就执行Move程序开始移动了。
    里面很简单,首先判断_c是否有值(等于0表示不需要移动)和_t是否到达Duration,
    未满足条件就继续移动,否则直接移动到目标值并进行下一次切换:

    Code

     

    使用说明

    实例化需要3个参数,分别是容器对象,滑动对象和切换数量,之后可以直接执行Run方法运行:

    new SlideTrans("idContainer""idSlider"3).Run();


    还有以下可选属性:
    Vertical: true,//是否垂直方向(方向不能改)
    Auto:  true,//是否自动
    Change:  0,//改变量
    Duration: 50,//滑动持续时间
    Time:  10,//滑动延时
    Pause:  2000,//停顿时间(Auto为true时有效)
    onStart: function(){},//开始转换时执行
    onFinish: function(){},//完成转换时执行
    Tween:  Tween.Quart.easeOut//tween算子

    其中Vertical初始化后就不能修改,Tween算子可参照这里的缓动效果选择(实例中选了其中3个)。

    还有提供了以下方法:
    Next: 切换下一个
    Previous: 切换上一个
    Stop: 停止自动切换
    还有上面说到的Run

     

    程序代码

    Code

     


    下载测试代码

    其他图片展示效果:
    JavaScript 图片变换效果(ie only)
    JavaScript 图片滑动展示效果

    转载请注明出处:http://www.cnblogs.com/cloudgamer/

    如有任何建议或疑问,欢迎留言讨论。

    如果觉得文章不错的话,欢迎点一下右下角的推荐。

    对广告有兴趣的也欢迎点一下^_^。

    6
    0
    (请您对文章做出评价)
    « 上一篇:JavaScript 多级联动浮动菜单
    » 下一篇:JavaScript 图片切割效果
    posted @ 2008-07-06 01:25 cloudgamer 阅读(78640) 评论(227)  编辑 收藏 网摘 所属分类: Javascript

    评论共3页: 上一页 1 2 3 
      回复  引用    
    #128楼2009-06-26 13:24 | 刘姿廷
    真是不意思,昨天修改了您的代码,运行了效果还不错。可是我今天换了图片比昨天的要大,然后滚动时不是一张一张的滚动,有时会滚动半张,就不会停留在一整张图片上,宽度高度都设置了,也没什么用。不知道是不是还需要修改那些地方,麻烦指点下。。。
      回复  引用  查看    
    #129楼[楼主]2009-06-26 13:53 | cloudgamer      
    @刘姿廷
    修改图片大小咯

      回复  引用    
    #130楼2009-06-26 19:24 | 刘姿廷
    不行啊,图片是不能改的,div和table的大小,我都修改了。。呜呜。。就是不行啊。请指点。。。
      回复  引用  查看    
    #131楼[楼主]2009-06-26 22:58 | cloudgamer      
    @刘姿廷
    设img的width和height啊

      回复  引用    
    #132楼2009-06-29 14:29 | 刘姿廷
    img的width和height,这个早就设置了,该设置的宽高我设置了。就是不知道咋的?滚动图片不会一张张滚动。请指点。。。
      回复  引用  查看    
    #133楼[楼主]2009-06-29 14:33 | cloudgamer      
    @刘姿廷
    这样说我也不知道什么问题
    最好email一个demo给我

      回复  引用    
    #134楼2009-06-29 14:38 | 刘姿廷
    第一张图片显示是OK的,可是一点击上下页时,滚动时,图片就不会一张张显示,滚动一圈回来,再到第一张时,又是可以显示完整。是不是滚动时还需要设置高度呢?
      回复  引用  查看    
    #135楼[楼主]2009-06-29 14:53 | cloudgamer      
    @刘姿廷
    你把
    Change: 0,//改变量
    这个值设成每次要滚动的高度看看

      回复  引用    
    #136楼2009-06-29 14:59 | 刘姿廷
    嗯嗯.修改了change的值就OK了..真是太谢谢了..周末时间好好研究您的代码..太感谢了..
      回复  引用  查看    
    #137楼[楼主]2009-06-29 15:03 | cloudgamer      
    @刘姿廷
    谢谢支持

      回复  引用    
    #138楼2009-07-03 11:53 | singones[未注册用户]
    单独使用JS调用没有问题。
    放到文件里后发现onmouseover有点儿问题,google提示no mothod 'run'
    不知道怎么办。偶发现每次自动run时,onStart这个函数未执行成功。forEach(nums, function(o, i){ o.className = st.Index == i ? "on1" : ""; })....这个funtion内的o,i不知道是怎么回事。st.index的值与i的值是否变动。不太明白。手动转换出问题.还请看看,谢谢

      回复  引用    
    #139楼2009-07-03 12:24 | singones[未注册用户]
    把代码放在body后面可以了。呵呵。
      回复  引用  查看    
    #140楼[楼主]2009-07-03 13:51 | cloudgamer      
    @singones
    或者放到window.onload应该就可以

      回复  引用    
    #141楼2009-07-22 11:48 | marsQ[未注册用户]
    请问这个能不能改成图片onload的时候 发生效果呢? 我想要单击小图的时候出现大图 然后大图发生变化
      回复  引用  查看    
    #142楼[楼主]2009-07-22 14:06 | cloudgamer      
    @marsQ
    没这个功能哦
    你自己扩展吧

      回复  引用  查看    
    #143楼2009-08-02 21:05 | 爱情寄居      
    r.Add('http://images.cnblogs.com/cnblogs_com/cloudgamer/143727/r_rt_1.jpg', '图片变换效果', 'http://www.cnblogs.com/cloudgamer/archive/2008/05/23/1205642.html');

    楼主我把以为改为:
    r.Add('http://pa.images22.51img1.com/6000/fangelwell/a4b1694af7c549dc9b2338528c20a6ce.jpg', '大家在一起', 'ViewPic.aspx?id=1');

    的时候,浏览器会出现刷新,我不想让之刷新,让之与您的原创一样不刷新,应该怎么改呀?
    谢谢!
    我的邮箱:453589725@qq.com

      回复  引用  查看    
    #144楼[楼主]2009-08-02 23:13 | cloudgamer      
    @爱情寄居
    刷新?什么意思
    程序没有刷新功能啊

      回复  引用  查看    
    #145楼2009-08-03 13:55 | 爱情寄居      
    @cloudgamer
    您在线吗?我的QQ453589725,您的qq呢。与您在线交流一下

      回复  引用  查看    
    #146楼[楼主]2009-08-03 13:57 | cloudgamer      
    @爱情寄居
    有什么问题可以这里问
    我不怎么上q

      回复  引用  查看    
    #147楼2009-08-20 12:02 | booboo      
    如果是嵌套在其它表格里面,则只能在IE8中有动画,而在IE7、IE6等及版本中,图片是静止了,请问楼主有没有方法解决.
      回复  引用  查看    
    #148楼[楼主]2009-08-20 13:59 | cloudgamer      
    @booboo
    具体是怎样呢
    可以email给我看看

      回复  引用    
    #149楼2009-08-21 17:34 | lioo[未注册用户]
    请问如何在图片下加文字啊,比较加上图片的标题。
      回复  引用  查看    
    #150楼[楼主]2009-08-21 20:04 | cloudgamer      
    @lioo
    你可以参考
    http://www.cnblogs.com/cloudgamer/archive/2008/05/23/1205642.html
    自己扩展一下
    在数字变换的时候再加上文字变换就行了

      回复  引用    
    #151楼2009-08-24 10:24 | mbc100[未注册用户]
    你这东西不兼容IE6.0啊,怎么办?
      回复  引用  查看    
    #152楼[楼主]2009-08-24 11:10 | cloudgamer      
    @mbc100
    测试过没问题哦
    你用什么测试

      回复  引用  查看    
    #153楼2009-08-28 19:25 | 石头儿      
    嗨,大哥,我一个初学的适合看这个不?
      回复  引用  查看    
    #154楼[楼主]2009-08-28 20:48 | cloudgamer      
    @石头儿
    可以啊
    有什么不明白的可以一起讨论

      回复  引用  查看    
    #155楼2009-08-29 09:32 | 石头儿      
    @cloudgamer
    谢谢,你真好啊^_^

      回复  引用  查看    
    #156楼2009-08-29 11:25 | 石头儿      
    @方立
    这个我感觉人家写的很好啊,多简练,要是分开看感觉冗余……

      回复  引用  查看    
    #157楼2009-08-29 11:30 | 石头儿      
    @AR
    你提的太好了,按照以前学的c++及java等语言,感觉这句都没啥作用……

      回复  引用  查看    
    #158楼2009-08-29 11:49 | 石头儿      
    @cloudgamer
    p == "relative" || p == "absolute" || (this._container.style.position = "relative");
    这句话的意思我都懂,因为以前学基础语言的时候都学过,可是我不知道在这有什么用?在这里不管是true 或false,没有return,也没有赋值给某个参数,对整个程序执行的影响在哪里?这个程序中有很多这样的用法,可我看了很久就是没看出来有什么用,很郁闷啊。JavaScript 中logical operators有什么特殊用法吗?我看了您给出的链接(相信我英语水平),但是没有发现与c++或Java等语言上讲的有什么区别。

      回复  引用  查看    
    #160楼2009-08-29 15:38 | 石头儿      
    @cloudgamer
    不得不说,
    p == "relative" || p == "absolute" || (this._container.style.position = "relative");
    这句话太绝了,真的,代码能写成这样,可见博主的功力了,逻辑运算符(logical operators) 的短路求值(short-circuit evaluation)竟然能这样用,大开眼界。学习了。谢谢。
    再也不敢说自己专业基础课学的怎么怎么地了……

      回复  引用  查看    
    #161楼[楼主]2009-08-29 16:43 | cloudgamer      
    @石头儿
    取巧而已
    从可读性来看就不那么好了

      回复  引用  查看    
    #162楼2009-08-29 16:47 | 石头儿      
    @cloudgamer
    大师之美,就在让人一头雾水……
    呵呵,确实,我费了我好长时间才明白,不过是因为没注意最后是“=”而不是“==”,而且这种用法不常见。但是如果用的人多了,也许也可以成为一种习惯呀。毕竟这个比if else还省一点点……^_^

      回复  引用  查看    
    #163楼[楼主]2009-08-29 17:01 | cloudgamer      
    @石头儿
    让人一头雾水的代码是不是好代码
    不要走错了哦

      回复  引用  查看    
    #164楼2009-08-29 17:08 | 石头儿      
    @cloudgamer
    呵呵,我开玩笑的,就记得有个同学给发的搞笑短信有个女人之美,在于让人一头雾水之类的话,像极了初学者对于大师级人物,就像现在,我都知道这个方法很好,很美,可是由于学的时间太短,知道知识太少,看来看去还是一头雾水,不过已经有一点头绪了,慢慢来了。
    好代码要易懂,符合……规则,尽可能使读起来像句子,最好实现逻辑层业务层分离,自己读容易,也给后来维护人员带来方便。
    我千万别误导了别人

      回复  引用  查看    
    #165楼[楼主]2009-08-29 17:50 | cloudgamer      
    @石头儿
    认识挺多嘛
    呵呵

      回复  引用  查看    
    #166楼2009-08-29 19:58 | 石头儿      
    var bVertical = !!this.options.Vertical;
    用两个!有什么深意吗?我看来好大一会儿愣是没看出来,理解这个估计得有经验

      回复  引用  查看    
    #167楼[楼主]2009-08-29 21:47 | cloudgamer      
    @石头儿
    没什么,就是返回一个bool值

      回复  引用  查看    
    #168楼2009-08-31 19:22 | 石头儿      
    @cloudgamer
    大哥,你的图片太个性了,俺在学校实验室学习,都是偷偷摸摸的学,旁边坐一美女,我老害怕别人一扭脸,说我上不良网站那……

      回复  引用  查看    
    #169楼[楼主]2009-08-31 22:33 | cloudgamer      
    @石头儿
    坐一美女还能学习
    不错

      回复  引用    
    #170楼2009-09-01 16:17 | alivi[未注册用户]
    奇怪,先前引用你的代码,一切都显示正常。
    为什么突然会不动了啊。显示的图片也一切正常。
    可就是不会切换了。
    不知道总题出在哪儿,把你的代码也重新引用了一遍也不行。

      回复  引用  查看    
    #171楼[楼主]2009-09-01 16:51 | cloudgamer      
    @alivi
    你可以下载实例对比
    看看什么问题

      回复  引用  查看    
    #172楼2009-09-05 22:45 | Forest.Stellar      
    你好,我有一个问题:
    我讲这个demo放到table的td中图片就不会移动了,请问这是什么原因啊

      回复  引用    
    #173楼2009-09-08 11:10 | u0768[未注册用户]
    几点建议
    首先现在以及以后的趋势是减少使用table,多用CSS
    下载的演示却是部分table部分CSS,建议重新打包使用替换成全CSS
    这个我记得之前的是CSS的,现在的为何是table,修改真不方便

    还有记得之前按钮是
    <ul class="num" id="idNum">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    </ul>
    这样的,现在改进了不用写那些数字
    <ul class="num" id="idNum">
    </ul>
    但new SlideTrans("idContainer", "idSlider", 3).Run();这里却还是要写上3这样的,扩展的实用性不强,还有单单
    <ul class="num" id="idNum">
    </ul>
    这样的不符合现行的W3C标准,建议直接JS补充<ul class="num" id="idNum">这样的

    这里我想说的是table替换成CSS,W3C这些虽然不是说一定要强求是遵守实现,不理他也能实现效果,但是其毕竟是现在及将来的潮流趋势,在能遵守其规则,又能实现想要的效果,为何不现在就改进呢,在做的时候就考虑,这样其实有时也是对以后的后续及改进布下基础,有时方便了将来。

    这点国外的做的很好,很多JS或者JQuery插件都是这样实现的,这点真的值得学习,让使用者也方便应用修改,扩展


    国内的,我到现在见过的最能从使用者出发制作的最好幻灯片效果
    http://bbs.blueidea.com/thread-2911266-1-1.html

    你只要在适当位置写上
    <ul>
    <li><a href="#" target="_blank"><img src="1.jpg" width="443" height="209" alt="展示图片1" /></a></li>
    <li><a href="#" target="_blank"><img src="1.jpg" width="443" height="209" alt="展示图片1" /></a></li>
    </ul>
    CSS修改起来方便,多少数字按钮自动获取显示,也不用你再填上

      回复  引用  查看    
    #174楼[楼主]2009-09-08 11:14 | cloudgamer      
    @u0768
    你可以email一个demo给我看看

      回复  引用  查看    
    #175楼[楼主]2009-09-08 11:28 | cloudgamer      
    @u0768
    其实这里无论table还是li(就是你说的css吧)都可以的
    只要实现了那个html结构就行,跟js本身无关
    我用table纯粹是为了方便(主要是横向的时候,兼容起来比较麻烦),当然你完全可以改成css达到一样的效果

    至于那个3
    由于我写的是一个通用的程序
    像你说的那种只能在固定结构的情况下才能那样用
    如果你能保证通过dom能正确获取里面切换的数量那当然可以不用那个参数了
    例如像你给的例子我可以通过获取li知道数量,当如果我用div呢,那就不行了
    当然你可以根据实际情况,自己改成通过dom获取,就不需要那个参数了,甚至只要容器id就可以了,这个关键还是看自己想怎么设计咯

      回复  引用    
    #176楼2009-09-08 11:42 | u0768[未注册用户]
    @cloudgamer
    国内的,我到现在见过的最能从使用者出发制作的最好幻灯片效果
    http://bbs.blueidea.com/thread-2911266-1-1.html


    我有之前的版本,下载现在的版本后我刚才就想把 table直接换成 CSS
    但是套用之前下载,我忘了是在这下载的,还是在其他地方下载的,总之是之前的版本,没table的,按钮也是
    <li>1</li>
    <li>2</li>
    <li>3</li>
    我把那个的样式替换table,变得很难看
    当然,我想自己再修改CSS是没问题

    我说这个的意思是
    从使用者出发制作,方便,实用

    http://bbs.blueidea.com/thread-2911266-1-1.html

      回复  引用    
    #177楼2009-09-08 11:46 | u0768[未注册用户]
    还有,淘宝的幻灯效果

    http://www.lanrentuku.com/down/js/jiaodiantu-330/

    使用代码,想多少张图片,不用写那数字,不用固定死,自动获取

    <div id="SlidePlayer">
    <ul class="Slides">
    <li><a href="#"><img src="images/01.jpg"></a></li>
    <li><a href="#"><img src="images/02.jpg"></a></li>
    <li><a href="#"><img src="images/03.jpg"></a></li>
    <li><a href="#"><img src="images/04.jpg"></a></li>
    <li><a href="#"><img src="images/05.jpg"></a></li>
    </ul>
    </div>
    < scrip t type="text/javascript">
    TB.widget.SimpleSlide.decoration('SlidePlayer', {eventType:'mouse', effect:'scroll'});
    </sc ript >

      回复  引用  查看    
    #178楼[楼主]2009-09-08 12:03 | cloudgamer      
    @u0768
    谢谢你的建议,你说的确实有道理
    但我已经说了我这么做的原因了
    而且你也完全可以按照你自己的意思修改
    说不定我按你的例子写一个,之后或许又有人说“为什么我用table就不行了”,“我怎么去掉那些数字”
    当然,下次修改的话我会参考你的建议的

      回复  引用    
    #179楼2009-09-09 11:07 | 毛遂小鸟[未注册用户]
    大哥,看了你空间的文章,偶觉得豁然开朗。佩服,以后经常到你这里来学习。严重支持你。
      回复  引用    
    #180楼2009-09-09 11:43 | singones[未注册用户]
    大哥,你好!
    我使用你提供的代码,会出现》》$(document).ready(function(){缺少对象的错误。上次将你写的var $ = function (id) {
    return "string" == typeof id ? document.getElementById(id) : id;
    };
    改成var $1= function (id) { ..就好了,不过最近好像又不行了。
    小弟技术不行,似乎这个$的定义与jquery 相冲突!

      回复  引用  查看    
    #181楼[楼主]2009-09-09 14:13 | cloudgamer      
    @singones
    你可以把我的程序写在
    (function(){
    ...
    })()
    里面,然后SlideTrans作为全局变量就不会冲突了

    @毛遂小鸟
    谢谢支持

      回复  引用    
    #182楼2009-09-15 12:16 | STRI[未注册用户]
    有从中间向两边扩展的算法没有??
      回复  引用  查看    
    #183楼[楼主]2009-09-15 14:10 | cloudgamer      
    @STRI
    是关于这个程序的吗
    还是说
    http://www.cnblogs.com/cloudgamer/archive/2008/08/27/1277131.html
    这样的渐变

      回复  引用    
    #184楼2009-09-15 17:43 | u0768[未注册用户]
    再来说几句
    现在使用幻灯,多用于CMS系统或博客系统等现成系统
    而这些系统很多时候有个 像 幻灯 这样的调用函数
    例如

    {acms show_huandeng}

    这样的调用函数放在模板上
    使用时自动变化生成类似
    <ul>
    <li><a href="1"><img alt="完毕" src="images/1.jpg"/></a></li>
    <li><a href="2"><img alt="完毕" src="images/2.jpg"/></a></li>
    <li><a href="3"><img alt="完毕" src="images/3.jpg"/></a></li>
    </ul>
    篇数这个不固定
    因此我上面才说 new SlideTrans("idContainer", "idSlider", 3).Run();
    里面还要写上固定的数目这样不方便使用,不灵活
    完全可以自动获取图片li的数目来显示按钮的数目

    至于显示不显示按钮,完全可以设置个选项开关,开则显示按钮,关则不显示

    还有现在的幻灯要在页面html直接写上
    <ul class="num" id="idNum">
    </ul>
    这样的写法,有ul而没li,不符合W3C标准
    可以直接把<ul class="num" id="idNum"></ul>
    写在JS里

    还有可以设置开关,获取显示图片alt显示出来

    如上我的意见,有的JS幻灯已经做到我所说的,可参考参考
    http://blog.csdn.net/microji/archive/2009/07/04/4322321.aspx
    http://nbajax.com/demo/smallslider/
    http://bbs.blueidea.com/thread-2911266-1-1.html

      回复  引用  查看    
    #185楼[楼主]2009-09-15 19:56 | cloudgamer      
    @u0768
    谢谢关注
    你可以自己封装一下,类似
    function Set(id) {
    var elm=$(id),elm2=获取Slide,num=获取数目
    .............
    new SlideTrans(elm, elm2, num).Run();
    }
    这样的函数就可以了
    我知道你追求易用性,但通用性跟易用性本来就是矛盾的
    其实你可以把我的看成一个通用程序,然后可以扩展成更易用的程序
    你的建议的也很好,下次修改会再考虑的

      回复  引用    
    #186楼2009-09-16 11:23 | stri[未注册用户]
    @cloudgamer

    是的.不过你的代码太多了.我看到了关键的一句话也应该是做法的要点就是和left.top一起变.

      回复  引用  查看    
    #187楼[楼主]2009-09-16 14:25 | cloudgamer      
    @stri
    是left和width一起变

      回复  引用  查看    
    #188楼2009-09-18 21:17 | 从君      
    呵呵,虽然有很多不懂得地方,但还是谢谢楼主共享的。
      回复  引用    
    #189楼2009-10-04 20:36 | 懒人小Q[未注册用户]
    已经确定滑动的长度和
    .idSlider2中WIDTH有很大的关系
    但是不知道哪里改

    滑动关键应该是
    MoveTo: function(i) {
    this._slider.style[this._css] = i + "px";
    },


    于是找到调用函数的地方
    this.MoveTo(Math.round(this.Tween(this._t++, this._b, this._c, this.Duration)));

    一看这么多,头都晕了

    能不能固定设置一个参数,来确定滑动的长度啊?

      回复  引用  查看    
    #190楼[楼主]2009-10-05 09:01 | cloudgamer      
    @从君
    谢谢支持

    @懒人小Q
    Change: 0,//改变量


      回复  引用    
    #191楼2009-10-08 20:16 | 懒人小Q[未注册用户]
    解决了,非常感谢!
      回复  引用    
    #192楼2009-10-22 11:43 | FeeLiN[未注册用户]
    鼠标悬停怎么弄?
    移到图片上停止滚动,移开继续滚动?

      回复  引用  查看    
    #193楼[楼主]2009-10-22 13:53 | cloudgamer      
    @FeeLiN
    你参考那个停止/自动按钮
    设置到onmouseover/onmouseout就行了

      回复  引用    
    #194楼2009-10-25 18:43 | guo11[未注册用户]
    老大,如果需要扩展一个该怎么写呀!我尝试了很多次,都不行
      回复  引用  查看    
    #195楼[楼主]2009-10-25 21:35 | cloudgamer      
    @guo11
    什么是扩展一个?

      回复  引用    
    #196楼2009-10-26 08:45 | guo11[未注册用户]
    引用cloudgamer:
    @guo11
    什么是扩展一个?

    就是我想在一个网页页面上增加三个或四个这样的幻灯片,该怎么添加

      回复  引用  查看    
    #197楼[楼主]2009-10-26 10:07 | cloudgamer      
    @guo11
    添加图片后修改 切换数量

      回复  引用    
    #198楼2009-10-26 21:47 | guo11[未注册用户]
    引用cloudgamer:
    @guo11
    添加图片后修改 切换数量


    不是这个意思!

    你这个只是在一个幻灯片里增加图片,
    我的意思是在一个网页里放多个幻灯片

      回复  引用  查看    
    #199楼[楼主]2009-10-26 22:41 | cloudgamer      
    @guo11
    那你可以new多个实例
    像我的代码里也同时有两个实例

      回复  引用  查看    
    #200楼2009-10-27 01:21 | 瑞鹰      
    现在代码单独运行正常,但将JS脚本嵌到HTML代码中,图片框的宽度无法控制.
    我该如何设置CSS来控制不管原始图片大小,图片框的大小和位置不变.

      回复  引用  查看    
    #201楼[楼主]2009-10-28 08:38 | cloudgamer      
    @瑞鹰
    css可以控制图片大小吧

      回复  引用    
    #202楼2009-11-03 10:36 | NICK_NAME[未注册用户]
    樓主你好,

    看過你的程式; 寫的很好 擴展性很強.

    另外; 我想知道如果 我想一次展示三張圖片

    pic1 | pic2 | pic3

    按下向左之後變成

    pic2 | pic3 | pic1

    這樣的話. 大概要怎麼做.

    因為目前好像是移動整個 table;

    如果要改的話, 是要只移動 td 嗎?

    感謝您的代碼 獲益良多

      回复  引用  查看    
    #203楼[楼主]2009-11-03 11:53 | cloudgamer      
    @NICK_NAME
    给个思路吧
    例如一个图片是100宽,一共有5个图
    你可以设置可视宽度是300(3个)
    Change是100
    count参数是3(5-(3-1))
    试试

      回复  引用    
    #204楼2009-11-03 12:27 | NICK_NAME[未注册用户]
    @cloudgamer
    樓主你好:

    感謝..

    我測試過是可以的 ..

    不過, 如果要展示的圖案有3張圖.

    總共就至少要有五張圖.

    想要知道的是, 關於count是怎麼計算的?


      回复  引用  查看    
    #205楼[楼主]2009-11-03 13:40 | cloudgamer      
    @NICK_NAME
    这个应该根据程序就可以知道吧
    也可以通过dom获取

      回复  引用    
    #206楼2009-11-03 15:25 | NICK_NAME[未注册用户]
    感謝樓主 :D
      回复  引用    
    #207楼2009-11-03 18:41 | fzy667[未注册用户]
    哪些图片也太诱惑人吧
      回复  引用  查看    
    #208楼2009-11-04 17:52 | 小zz      
    1.下面这个方法有什么用?大概说下这个方法的作用。lz写的代码有很多我没接触过,学习下。
    var Tween = {
    Quart: {
    easeOut: function(t,b,c,d){
    return -c * ((t=t/d-1)*t*t*t - 1) + b;
    }
    },
    Back: {
    easeOut: function(t,b,c,d,s){
    if (s == undefined) s = 1.70158;
    return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
    }
    },
    Bounce: {
    easeOut: function(t,b,c,d){
    if ((t/=d) < (1/2.75)) {
    return c*(7.5625*t*t) + b;
    } else if (t < (2/2.75)) {
    return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
    } else if (t < (2.5/2.75)) {
    return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
    } else {
    return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
    }
    }
    }
    }
    2.this.Auto = !!this.options.Auto; =!!是什么用法
    3.p == "relative" || p == "absolute" || (this._container.style.position = "relative");
    这个是if的意思吗?

      回复  引用  查看    
    #209楼[楼主]2009-11-04 18:11 | cloudgamer      
    @fzy667
    养眼养眼

      回复  引用    
    #211楼2009-11-06 22:50 | 百威管理软件[未注册用户]
    学到很多东西,以前我搞一个那种滚动的QQ留言时候,使用到切换头像的动作效果,结果设置TOP效果就OK了。
      回复  引用  查看    
    #212楼[楼主]2009-11-06 23:35 | cloudgamer      
    @百威管理软件
    呵呵

      回复  引用  查看    
    #213楼2009-11-11 00:20 | Jaxu      
    楼主你好,关注你的脚本特效有段时间了,最近有幸在一个项目中使用了你的图片滑动切换效果,在Visual Studio中运行一切正常,程序发布到服务器上后用FF看也没问题,可是为什么在IE中看有一些bug呢?就是当图片切换的时候位置不对,不知道如何调整,还望楼主指点一二,非常感谢!
    这里是预览地址:http://222.171.156.50

      回复  引用  查看    
    #214楼[楼主]2009-11-11 08:43 | cloudgamer      
    @Jaxu
    貌似正常啊

      回复  引用  查看    
    #215楼2009-11-11 09:57 | Jaxu      
    引用cloudgamer:
    @Jaxu
    貌似正常啊

    非常感谢你的帮助,我的问题已于昨晚自行解决了。我在new SlideTrans时增加了change参数,这样当图片在切换时就不会出现错位的情况了:)

      回复  引用    
    #216楼2009-11-17 11:10 | odoooo[未注册用户]
    lz,在体验方面提个建议

    鼠标控制轮换时,最好延时响应事件,如果鼠标快速经过图片的索引数字,体验不太好。

      回复  引用  查看    
    #217楼[楼主]2009-11-17 11:22 | cloudgamer      
    @odoooo
    这个可以自己在按钮加个延时就行
    不难

      回复  引用    
    #218楼2009-11-20 16:02 | ITCTL[未注册用户]
    楼主能做成这个样子吗?
    图片一致循环的换,当从3到1时效果不太好,
    看这个微软的很爽。
    http://windowslive.com/explore?ocid=RDT_WLG3_Explore_012009

      回复  引用  查看    
    #219楼[楼主]2009-11-20 16:17 | cloudgamer      
    @ITCTL
    结合无缝滚动就可以做出来

      回复  引用    
    #220楼2009-11-20 17:40 | ITCTL[未注册用户]
    @cloudgamer
    结合无缝滚动,啥意思,难道用maquee?
    能不能说说思路,这个例子需要改动哪些地方?

      回复  引用  查看    
    #221楼[楼主]2009-11-20 20:02 | cloudgamer      
    @ITCTL
    网上很多无缝滚动自己找一个看看吧
    具体怎么改就自己研究吧,一下子也说不清楚

      回复  引用    
    #222楼2009-11-25 12:23 | 深圳日语培训[未注册用户]
    结合无缝滚动,啥意思,难道用maquee?
    到网上查查嘛,大把的.

      回复  引用    
    #223楼2009-12-22 22:00 | woogoo.biz[未注册用户]
    cloudgamer,您好。
    我对您发布的滑动JavaScript这则内容提供的代码作了小小的修改,并将这份代码作为我网站的一个功能支持。
    主要改动的地方如下:
    1。自动计算容器内对象的尺寸与数量,为计数器提供计数依据
    2。将计数器的创建修改为形式上符合W3C要求的XHTML 1.0 Strict规范要求

    另外,标注了您的名字 cloudgamer,以及您这个博客的地址。
    同时标注 license为 CC3。

    如果您对标注作者以及标注的license有异议,请告知。

    谢谢!

      回复  引用  查看    
    #224楼[楼主]2009-12-22 22:10 | cloudgamer      
    @woogoo.biz
    呵呵
    没问题

      回复  引用    
    #225楼2009-12-24 14:06 | 新猪猪520[未注册用户]
    师傅,我建议加上,loading效果,这样就和flash的效果完全一样了。

    假如我有5张大图的话,不可能页面初始化就加载5张(50K一张就是250K),首页要把用户卡死(用户体验不好),如果能先展示第一张,等js判断挨个加载完5张图,加载完毕后,再开始动画就完美了,呵呵。

      回复  引用  查看    
    #226楼[楼主]2009-12-24 14:11 | cloudgamer      
    @新猪猪520
    可以先判断5张图都加载完了再实例化就行了

      回复  引用  查看    
    #227楼2010-02-02 16:30 | 飞鸽传书      
    路过。
    评论共3页: 上一页 1 2 3