做为一名职业web前端,我们需要对网页上常见的交互都要具备手写js的能力,或者js比较复杂如果习惯jquery也可以。最近切图网一个客户项目中遇到了图片滚动效果,因客户要求,写了3个不同的版本,留作备注和分享。

1,右箭头,点击一下移动一个单元,当移动到最后一个单元的时候,在点击右箭头,回到第一个单元

  1. /*图片滚动*/

  2. $('.imgroll').each(function(){

  3. $(this).find('li:first').addClass('selected');

  4. })

  5. $('.imgroll .next').click(function(){

  6. var f = $(this).parent();

  7. var l = ('li').size()-4) * 258;

  8. (parseInt('ul').css('margin-left')) + '-' + l);

  9. if(parseInt('ul').css('margin-left')) > -l){

  10. f.find('ul').stop().animate({'marginLeft':'-=258'})

  11. }

  12. else{

  13. f.find('ul').stop().animate({'marginLeft':0})

  14. }

  15. });

  16. $('.imgroll .prev').click(function(){

  17. var f = $(this).parent();

  18. var l = ('li').size()-4) * 258;

  19. (parseInt('ul').css('margin-left')) + '-' + l);

  20. if(parseInt('ul').css('margin-left')) < 0){

  21. f.find('ul').stop().animate({'marginLeft':'+=258'})

  22. }

  23. else{

  24. f.find('ul').stop().animate({'marginLeft':0})

  25. }

  26. })

2,点击右箭头,移动一个单元,当移动到最后一个单元的时候,点击右箭头无效。

  1. /*图片滚动*/

  2. $('.imgroll').each(function(){

  3. $(this).find('li').each(function(){

  4. $(this).attr('data-index',$(this).index());

  5. })

  6. })

  7. $('.imgroll .next').click(function(){

  8. // 将整个ul设置动画方式负移位,制造图片左移的效果,然后设置移位为0,将第一张图片获取补到最后,到这里整个图片左移效果完成

  9. var f = $(this).parent();

  10. ('li:eq(3)').data('index')+1 + '-----'+ f.find('li').size());

  11. if('li:eq(3)').data('index')+ 1 == f.find('li').size()){

  12. return false;

  13. }

  14. f.find('ul').animate({'marginLeft':-258},function(){

  15. $(this).css('marginLeft',0).find('li:first').appendTo($(this));

  16. });

  17. });

  18. $('.imgroll .prev').click(function(){

  19. var f = $(this).parent();

  20. if('li:first').data('index') == 0){

  21. return false;

  22. }

  23. // 同上

  24. f.find('ul').css('marginLeft',-258).find('li:last').prependTo('ul'));

  25. f.find('ul').animate({'marginLeft':0});

  26. })

3,最常规的写法,参见切图框架 slicy 。

原文地址: (切图社区)

加微信公众号:qietuwang (限做前端的人)

1.《[图片如何转js代码]js图片左右滚动代码!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《[图片如何转js代码]js图片左右滚动代码!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3265820.html