亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于純JS實現定時器輪播,望大神解答下??!謝謝!?。?/h1>

關于純JS實現定時器輪播,望大神解答下!!謝謝!?。?/h1>
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 關注
  • 2844 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號