Я пытался изменить src элемента изображения при перезагрузке. Я придумал этот код, но он не работает для меня:
var images = ['hero-1.jpg', 'hero-2.jpg', 'hero-3.jpg', 'hero-4.jpg', 'hero-5.jpg', 'hero-6.jpg'];
$('#hero figure img[src="images/' + images[Math.floor(Math.random() * images.length)] + '"]').appendTo('#hero img');
HTML
<section id="hero">
<figure>
<img src="images/hero-1.jpg" alt="Hero">
</figure><!-- End figure -->
</section><!-- End section#hero -->
Изображения размещаются внутри карты изображения непосредственно в корне.
Здесь небольшое AngularJS-приложение, которое делает то, что вы хотите: http://jsfiddle.net/HB7LU/3276/
Он содержит контроллер с массивом с URL-адресами img
и функцию, которая возвращает случайный один из этих URL-адресов:
function MyCtrl($scope) {
var images = [
'http://placehold.it/200x200',
'http://placekitten.com/200/300',
'http://www.lorempixum.com/400/300'
];
$scope.getRandomImage = function () {
var randIndex = ~~(Math.random() * images.length);
return images[randIndex];
};
}
Это используется в выражении в html:
<img ng-src="{{getRandomImage()}}">
Здесь используется угловая директива ng-src, потому что ей не разрешено иметь угловые выражения в атрибуте src.
Может быть немного перебор, чтобы использовать угловые.