为了账号安全,请及时绑定邮箱和手机立即绑定

关于纯JS实现定时器轮播,望大神解答下!!谢谢!!!

关于纯JS实现定时器轮播,望大神解答下!!谢谢!!!

nobcainiao 2015-10-17 11:49:18
这个轮播一共五张图片,每张是宽620高250。。。我先说下我的思路,我在box这个大的div里设置的是一张图片的宽高,然后里面有个img的div,是拿来放图片的,设置宽为3100也就是5张图一共的宽度,box设置为over flow hidden。。。。基本上用这个布局来实现轮播。。。可是JS代码我有点晕哎,望大神指导下!!function playnext(){    //播放下一张     var slidercontent = document.getElementById();   //在("这里填写存放轮播图图片的ID")     slidercontent.style.webkitTransition="all .3s linear";  //为轮播添加过渡效果     if(slidercontent.style.marginLeft==""){         slidercontent.style.marginLeft="0px";     }     var sliderwidth = 620;      //每张图片的大小     if(parseInt(slidercontent.style.marginLeft)>-2480){          slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)-sliderwidth+"px";     }else{         slidercontent.style.marginLeft="0px";     } } function playprevious(){    //播放上一张     var slidercontent = document.getElementById("lunbo2");      if(slidercontent.style.marginLeft==""){         slidercontent.style.marginLeft="0px";     }     var sliderwidth = 620;//每张图片的大小     if(parseInt(slidercontent.style.marginLeft)<0){         slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)+sliderwidth+"px";     }else{         slidercontent.style.marginLeft="-2480px";     } }尤其不理解这段代码。。。if(parseInt(slidercontent.style.marginLeft)>-2480){        slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)-sliderwidth+"px";    }else{        slidercontent.style.marginLeft="0px";    }}有木有大神能讲细点,菜鸟一枚啊,超级感谢!!!!!!!!1
查看完整描述

2 回答

?
Y_du

TA贡献43条经验 获得超5个赞

slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)-sliderwidth 这是没次移动的宽度。sliderwidth就是每张图片的宽度。margin-left是图片相对于其父的。

查看完整回答
反对 回复 2015-10-17
  • nobcainiao
    nobcainiao
    当轮播到最后一张,margin-left的值不就该等于sliderwidth吗,那就该写成slidercontent.style.marginLeft=sliderwidth为什么还得写slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)-sliderwidth
  • Y_du
    Y_du
    肯定不能等于图片的宽度啊,你想想嘛。如果等于图片的宽度那不就是一个空白的了。
  • nobcainiao
    nobcainiao
    额。。。。还是不太懂
?
Y_du

TA贡献43条经验 获得超5个赞

这段代码的意思是,如果轮播到最后一张就把它的margin-left由-2480px变成0.这样又可以从第一张开始了。

查看完整回答
反对 回复 2015-10-17
  • nobcainiao
    nobcainiao
    这个意思我懂。。可是为什么这样表达。。。他的margin-left是指装图片的img盒子div么,相当于是盒子在运动? slidercontent.style.marginLeft=parseInt(slidercontent.style.marginLeft)-sliderwidth,这个又是咋理解的呢
  • 2 回答
  • 2 关注
  • 2741 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信