我在这里建立一个网站:argit.bounde.co.uk
我遵循了制作滑块的教程,它的工作原理是具有ul
大宽度然后li's
浮动。然后这一切都被 a div
which has隐藏了overflow: hidden
。然后让 jquery 动画margin-left = imgWidth
我网站的其余部分是流体宽度,所以显然我需要滑块跟随,否则它看起来有点傻。目前我已经li's
用 jquery 给出了一个设置的宽度,然后将 img 设置为 100%。这个解决方案没问题,但是当设备不支持 jQuery 时就会崩溃,所以我更喜欢更健壮的方法。我无法将其设置ul
为 100%,因为图像不再排成一行,它们简单地堆叠在彼此下方
谁能想到我可以实现这一目标的方法?
完整的滑块 jQuery 在这里:
var current = 1;
function slider () {
var sliderUl = $('div#slider ul'),
imgs = sliderUl.find('img'),
imgWidth = imgs.width(),
imgLength = imgs.length,
totalImgsWidth = imgLength * imgWidth;
var direction = $(this).data('dir'),
loc = imgWidth;
if( direction == 'next') {
++current;
} else {
--current;
}
if( current === 0) {
current = imgLength;
loc = totalImgsWidth - imgWidth;
direction = 'next';
} else if ( current - 1 === imgLength ) {
current = 1;
loc = 0;
}
transition(sliderUl, loc, direction);
};
function transition( container, loc, direction ) {
var ease;
var unit;
if (direction && loc !== 0) {
unit = (direction === 'next') ? '-=' : '+=';
}
container.animate({
'margin-left': unit ? (unit + loc) : loc
})
};