繁体   English   中英

我做了一个Javascript滑块,而CSS遇到了一些严重的麻烦。

[英]I made a Javascript slider and i'm having some serious trouble with the CSS.

所以我做了一个Javascript Slider。 问题是图像加载时图像就像下推我的下一个/上一个div一样,它也不位于我的滑块所在的容器中。 我不确定发生了什么这是我的代码:如果您需要查看该链接,可以将其发布到我的网站上。 的HTML

<div id="sliderFrame">
  <img src="img/CS-GO-Test.jpg" name="slider"  alt="" />
  <div id="prev" onClick="swapImage(-1)"></div>
  <div id="next" onClick="swapImage(+1)"></div>
</div>

的CSS

#sliderFrame{
margin-top: 10px;
width:100%;
height:350px;
border: 2px solid #003E66;
background:#CAE9FF;

}
#prev{
z-index:99;
display:block;
float:left;
height:100%;
width:5px;
background-color:#8F8F8F;
opacity: 0.2;
width:10%;
position:relative;
}
#prev:hover{
opacity: 0.4;
}
#next{
z-index:99;
display:block;
float:right;
height:100%;
width:10px;
background-color:#8F8F8F;
opacity: 0.2;
width:10%;
position:relative;
}
#next:hover{
opacity: 0.4;
}

的JavaScript

var Image = new Array("img/CS-GO-Test.jpg", "img/CS-GO-Test2.jpg", "img/test.jpg");
var ImageNum = 0;
var ImageLength = Image.length -1;

function swapImage(num){
  ImageNum = ImageNum + num;

  if(ImageNum > ImageLength){
    ImageNum = 0;   
  }

  if(ImageNum < 0){
    ImageNum = ImageLength; 
  }

 document.slider.src = Image[ImageNum];
}

要将next和prev div放置在sliderFrame上方,请使用绝对定位,而不是#prev和#next元素的相对定位。

这是我的方法:

#sliderFrame {
margin-top: 10px;
width: 100%;
height: 350px;
border: 2px solid #003E66;
background: #CAE9FF;
position:relative; /*add this so that divs inside can be placed relative to THIS div*/
}
#prev {
z-index: 99;
display: block;
height: 100%;
width: 10px;
background-color: #8F8F8F;
opacity: 0.2;
width: 10%;
position: absolute; /*needed for placement relative to the parent element (sliderFrame) and for overlapping elements*/
top: 0; /*place on top*/
}
#next {
z-index: 99;
display: block;
height: 100%;
width: 10px;
background-color: #8F8F8F;
opacity: 0.2;
width: 10%;
position: absolute; /*absolute positioning to place relative to parent element (sliderFrame) */
right: 0; /*instead of floats use right for positioning*/
top: 0; /*place on top*/
}

概括起来,请确保将父容器(sliderFrame)的位置设置为相对,并对需要放置在父元素上方的内部元素使用绝对定位。

查看此链接以了解有关绝对和相对定位的更多信息: http : //css-tricks.com/absolute-positioning-inside-relative-positioning/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM