我目前正在使用 Javascript 制作一个简单的画廊,使用键盘控制输入来移动画廊图像。jSFiddle 显示代码,但由于某种原因,滑块在 jSfiddle 上不起作用,但它在我的本地主机 MAMP 服务器上运行。
问题是我无法让网格中的图像停止垂直堆叠。我查看了 UL LI css,它似乎无法正常工作,并使 li 图像垂直浮动在每个图像的顶部。
我的另一个问题是,我如何告诉 Javascript 的 gridSize 变量为了响应式 Web 目的而改变,因为 1100 对于某些屏幕来说太大了?
滑块的 Javascript。$(window).load (function() {
var image = $('img');
var theWidth = image.width();
var gridSize = -1100;
var grid;
var totalWidth = image.length * theWidth;
$('ul.grid').css({
width: function(){
return totalWidth;
}
});
$('#back').click(function() {
if(gridSize - theWidth != -totalWidth) {
grid = gridSize + 1100;
} else {
grid = 0;
};
updatePosition();
});
$('#page').click(function(){
if(gridSize != 0) {
grid = gridSize - 1100;
} else {
grid = 0;
};
updatePosition();
});
var updatePosition = function() {
$('ul.grid').animate({ "margin-left": (grid)}, 650);
gridSize = -1100;
}
$(document).keydown(function(e) {
if (e.keyCode == 39) {
updatePosition();
}
else if (e.keyCode == 37) {
grid = gridSize + 1100;
}
})
});
HTML
<div class="grid-wrap">
<ul class="grid">
<li>
<img src="http://f.cl.ly/items/363B3w2S0c3y22100R2D/img1.png">
</li>
<li>
<img src="http://f.cl.ly/items/09110S1L2t2X0K0J1d1D/img2.png">
</li>
<li>
<img src="http://f.cl.ly/items/0L152B400u0d0k1g2a1e/img3.png">
</li>
</ul>
</div>
<div id="btns">
<div class="forward"></div>
<div class="back"></div>
</div>
CSS
.grid-wrap {
background: #FFF;
margin: 0 auto;
overflow: hidden;
width: 600px;
}
ul.grid li {
display: inline;
list-style: none;
}
我究竟做错了什么?谢谢。