1
Я пытаюсь изменить фоновое изображение приложения динамически с интервалом в 5 секунд с 5 изображений, а затем повторить.JavaScript Dynamic Fade Background Image
Вот мой JS код:
<script type="text/javascript">
$(function() {
var body = $('body');
var backgrounds = new Array(
'url(img/bg/bk.jpg)',
'url(img/bg/nb.jpg)',
'url(img/bg/la.jpg)',
'url(img/bg/ts.jpg)',
'url(img/bg/bh.jpg)'
);
var current = 0;
function nextBackground() {
body.css(
'background',
backgrounds[current = ++current % backgrounds.length]
);
setTimeout(nextBackground, 5000);
}
setTimeout(nextBackground, 5000);
body.css('background', backgrounds[0]);
});
</script>
Вот мой CSS:
body {
background: no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
padding-top: 40px;
padding-bottom: 40px;
}
Но это не работает. Даже фон пуст-белый. <body>
не имеет никаких атрибутов.
Я скопировал ваш код в jsfiddle и, похоже, работает: http://jsfiddle.net/7ty2k8zf/ - (тестирование в Chrome). Это не идеально, потому что я вижу пустой белый фон между каждым изображением, но вы, кажется, говорите, что это не работает вообще? – nnnnnn
Спасибо! Кажется, проблема с FIREFox, но я хочу, чтобы изображение полностью покрывало страницу, а не вываливалось, а также исчезать. –
Ну, полное покрытие страницы - это вопрос выбора изображений соответствующего размера (я просто использовал заполнители) и/или масштабирования изображения в вашем CSS. 'no-repeat' должен остановить черепицу (но когда вы устанавливаете фон в своем JS, это, по-видимому, переопределяет таблицу стилей). – nnnnnn