javascript - CSS圖片輪播顯示問題
問題描述
<!DOCTYPE html><html lang='en'><head>
<meta charset='UTF-8'><title>Title</title><style type='text/css'> *{margin: 0;padding:0; } ul{list-style: none; } a{text-decoration: none; } .wrapper{width: 640px;height: 368px;margin: 50px auto;position: relative; } .wrapper li{position: absolute;left: 0;top:0; } .toggle{width: 640px;height: 368px; } .toggle span{width: 30px;height: 50px;background:#FF9629;position: absolute;text-align: center;line-height: 50px;color: #fff;font-size: 20px;cursor: pointer; /* display: none;*/ } #prev{top:159px; } #next{top:159px;right:0; }</style>
</head><body><p class='wrapper'>
<ul id='list'> <li><a href='http://www.gepszalag.com/wenda/2997.html#'><img src='http://www.gepszalag.com/wenda/img/1.jpg'></a></li> <li><a href='http://www.gepszalag.com/wenda/2997.html#'><img src='http://www.gepszalag.com/wenda/img/2.jpg'></a></li> <li><a href='http://www.gepszalag.com/wenda/2997.html#'><img src='http://www.gepszalag.com/wenda/img/3.jpg'></a></li> <li><a href='http://www.gepszalag.com/wenda/2997.html#'><img src='http://www.gepszalag.com/wenda/img/4.jpg'></a></li> <li><a href='http://www.gepszalag.com/wenda/2997.html#'><img src='http://www.gepszalag.com/wenda/img/5.jpg'></a></li></ul><p class='toggle'> <span id='prev'><</span> <span id='next'>></span></p>
</p><script type='text/javascript'>
var list = document.getElementById('list');var prev = document.getElementById('prev');var next = document.getElementById('next');function fn(ev) { var nowLeft =parseInt(list.style.left)+ev; list.style.left = nowLeft+'px';}prev.onclick = function () { fn(640);};next.onclick = function () { fn(-640);};
</script></body></html>
我想問一下,為什么頁面上顯示的是最后一張圖片在最上面,而不是第一張!
問題解答
回答1:<!DOCTYPE html><html>
<head> <meta charset='UTF-8'> <title>輪播圖</title> <style type='text/css'>* { margin: 0; padding: 0;}a { text-decoration: none;}.toggle { width: 640px; height: 368px;}.toggle span { width: 30px; height: 50px; background: #FF9629; position: absolute; text-align: center; line-height: 50px; color: #fff; font-size: 20px; cursor: pointer; /* display: none;*/}#prev { top: 159px;}#next { top: 159px; right: 0;} </style></head><body> <p id='imgp'><img src='http://www.gepszalag.com/wenda/img/1.png' /> </p> <p class='toggle'><span id='prev'><</span><span id='next'>></span> </p></body><script type='text/javascript'> var arrayImg = [’img/1.png’ , ’img/2.png’ , ’img/3.png’ , ’img/4.png’ , ’img/5.png’]; var prev = document.getElementById('prev'); var next = document.getElementById('next'); var imgImg = document.getElementById('imgImg');var i = 0 ;prev.onclick = function(){i--;if(i < 0){ i = 4 ;}imgImg.setAttribute('src' , arrayImg[i]); }next.onclick = function(){i++;if(i > 4){ i = 0 ;}imgImg.setAttribute('src' , arrayImg[i]); } </script>
</html>
回答2:問題是出現在.wrapper li{position: absolute;left: 0;top:0;},這一句上面,所有的li都被絕對定位了,并且位置都是left: 0, top: 0,后面的覆蓋在前面的上面,因此就是顯示的最后一個了;百度一下輪播圖的寫法,依你的寫法,是整不出來的
回答3:.wrapper li{position: absolute;<---left: 0;top:0; }回答4:
可以將圖片路徑保存在數組里面,使用js替換image的src值來實現點擊播放
回答5:你把所有的img元素都絕對定位了,當然是最后一張在最上面啊,你把他們的父容器絕對定位
相關文章:
1. java - 同一臺電腦,我提交代碼然后推送到遠端倉庫,顯示的提交人和推送人不一致,怎么解決2. 為什么我寫的PHP不行3. html - css布局問題,背景用用div畫的三角形是否用absolute與z-index來定位與規定在下方是否是個好方案4. 我 想好好學精通一門技術,大家用的走過的路,幫我指點指點唄 讓我少走了彎路和坑的苦 ,自學,自己摸5. 正則表達式 - nginx 正則,如何匹配不以/結尾且不以.xml .html .htm結尾6. Android 高德地圖如何移除添加的某個marker?7. javascript - vue監聽data中的某一數組的某一項8. 淺談vue生命周期共有幾個階段?分別是什么?9. index.php錯誤,求指點10. java - web端百度網盤的一個操作為什么要分兩次請求服務器, 有什么好處嗎
