【发布时间】:2017-05-01 06:49:35
【问题描述】:
我已经尝试了一段时间。我已经看过图像滑块问题了。但如果我在这里得到一些具体的帮助,我将不胜感激。请告诉我以下代码哪里出错了。
这是我的 jQuery 代码:
function slideMe {
$('.imgcontainer').animate({"margin-left":"-= 100%"}, 2000, function () {
if($('.imgcontainer').css("margin-left") == (-300%)) {
$('.imgcontainer').css("margin-left", "0px");
}
slideMe();
});
}
window.onload = slideMe();
这是 HTML 页面上的脚本:
<div class="fitimage">
<div class="imgcontainer">
<img src="img/copywrtng.jpg" class="headerimage" alt="copywriting" />
<img src="img/copywrtng1.jpg" class="headerimage" alt="copywriting" />
<img src="img/copywrtng2.jpg" class="headerimage" alt="copywriting" />
</div>
</div>
这就是我对 CSS 的看法:
div.fitimage {
width:100%;
height:93vh;
overflow: hidden;
}
img.headerimage {
padding: 0;
margin:0 auto;
width:100%;
/*max-height:100%;
max-width:100%;*/
height:93vh;
}
我的逻辑是,当每个图像占据 100% 的宽度时,当“.imgcontainer” div 以 margin-left:-100% 向左滑动时,每个图像应该从右侧一个接一个地出现,直到它到达最后一个,当它再次恢复到第一个图像时。
它不工作!
请帮忙。
【问题讨论】:
-
我看到你的代码中有很多错误
"-= 100%"假设是-100%,== (-300%)应该是== ("-300%") -
@RichardMauritz 你的猜测也错了。
.css("margin-left")返回一个 px 值,而不是 % -
@RokoC.Buljan 你的意思是说,如果我说 margin-left == -300%,它不会起作用?它返回一个像素值?那么,在那种情况下,我使用了图像的宽度?但在 CSS 中,我设置了宽度:100%。
-
是的@RokoC.Buljan 是对的,将其登录到
console以找出px的值。无论如何,我只是指出任何字符都需要包裹在"符号之间。 -
@SamC 这里的问题是,如果您溢出父级,则子级将堆叠一个 在 另一个(不在左侧) - 至少在不使用
white-space: nowrap的情况下不会但实际上比 img100%更大,比如 300% 或任何它们的父宽度。
标签: javascript jquery html css image