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://m.cgvv.com.cn/wenda/2997.html#'><img src='http://m.cgvv.com.cn/wenda/img/1.jpg'></a></li> <li><a href='http://m.cgvv.com.cn/wenda/2997.html#'><img src='http://m.cgvv.com.cn/wenda/img/2.jpg'></a></li> <li><a href='http://m.cgvv.com.cn/wenda/2997.html#'><img src='http://m.cgvv.com.cn/wenda/img/3.jpg'></a></li> <li><a href='http://m.cgvv.com.cn/wenda/2997.html#'><img src='http://m.cgvv.com.cn/wenda/img/4.jpg'></a></li> <li><a href='http://m.cgvv.com.cn/wenda/2997.html#'><img src='http://m.cgvv.com.cn/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://m.cgvv.com.cn/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. android - NavigationView 的側滑菜單中如何保存新增項(通過程序添加)2. php7.3.4中怎么開啟pdo驅動3. python-mysqldb - 這樣結構的mysql表,如何快速update4. 提示語法錯誤語法錯誤: unexpected ’abstract’ (T_ABSTRACT)5. 編程學習心得分享(共80條)6. 這段代碼既不提示錯誤也看不到結果,請老師明示錯在哪里,謝謝!7. 老師 我是一個沒有學過php語言的準畢業生 我希望您能幫我一下8. ueditor上傳服務器提示后端配置項沒有正常加載,求助!!!!!9. mysql - select查詢多個紀錄的條件怎么寫10. tp5 不同控制器中的變量調用問題
