Это действительно для информационных и учебных целей, в то время как вы узнаете больше о JavaScript и CSS. У меня есть индексная страница локального браузера, на которой я хочу повернуть фоновое изображение. Осмотрев и играть с различными решениями, я остановился на этом для базовой функциональности ЧередоватьИзменение размера фоновых изображений
<html>
<head>
<script language="javascript" type="text/javascript">
function rotate()
{
var imgArray = new Array("img1.jpg", "img2.jpg", "img3.jpg");
var aImg = Math.floor(Math.random()*imgArray.length);
var img = imgArray[aImg];
document.body.style.background = "url(" + img + ") no-repeat";
document.body.style.backgroundSize = "cover";
}
</script>
</head>
<body onload="rotate()">
</body>
</html>
Во время процесса, прежде чем я просто установить backgroundSize
как крышку, чтобы заполнить окно, я играл с идеей изменяя размеры изображений перед установкой их в качестве фонового изображения после их выбора из массива.
Я много искал, и единственные реальные рабочие решения, которые я нашел, полагаются на выбор элемента по идентификатору, но это также требует, чтобы изображение ассоциировалось с идентификатором, например, в IMG-свойстве в HTML код. Здесь изображение выбирается и устанавливается в JavaScript с помощью CSS.
Я попытался установить размеры изображения с img.width
/img.height
и img.style.width
/img.style.height
, а также несколько других случайных решений, я сталкивался, но всякий раз, когда я пытаюсь изменить эти изображения либо не меняется, либо нет показать вообще.
function rotate()
{
var imgArray = new Array("img1.jpg", "img2.jpg", "img3.jpg");
var aImg = Math.floor(Math.random()*imgArray.length);
var img = imgArray[aImg];
image = rsize(img);
document.body.style.background = "url(" + image + ") no-repeat";
document.body.style.backgroundSize = "cover";
}
function rsize(image)
{
image.style.width = "300px";
image.style.height = "300px";
return image;
}
Я знаю, что, вероятно, я здесь что-то не так. Есть ли способ, в этом случае, изменить размеры этих изображений? Или есть лучший способ построить это?
Заранее спасибо.
Вы можете, но не с Img элементов ... – Bergi
Это похоже на один из решения, которые я пытался раньше, но без 'appendChild'. Но он не работает с элементами изображения. Это по-прежнему хорошая информация для меня, спасибо. – jb11
@ jb11 - Я исправил опечатку в своем примере кода. Я также внедрил рабочую демонстрацию, где вы можете увидеть CSS, который также центрирует изображение: http://jsfiddle.net/jfriend00/jqMtV/ – jfriend00