Показать сообщение отдельно
  #40 (permalink)  
Старый 12.03.2013, 13:45
Аспирант
Отправить личное сообщение для Ahterknica Посмотреть профиль Найти все сообщения от Ahterknica
 
Регистрация: 13.02.2013
Сообщений: 59

Сообщение от danik.js Посмотреть сообщение
Тогда думаю одним css не решить.
Нужно сравнивать размеры картинки с размером экрана, и в зависимости от результата выставлять либо width либо height - 100%

Короче,

if (window.innerHeight < image.offsetHeight || window.innerWidth < image.offsetWidth) {
    image.style[image.offsetHeight > image.offsetWidth ? 'height' : 'width'] = '100%';
}
только я лажовщик.
я вставила этот код вот так, в мой код, меняющий картинки:
var i , t,
    b;
var speed = 6000
var Pic = ['image/img_1.jpg',
'image/img_2.jpg',
'image/img_3.jpg',
'image/img_4.jpg']
var j = 0
var p = Pic.length
for (i = 0; i < p; i++){
   var preLoad = new Image()
   preLoad.src = Pic[i]
   Pic[i] = preLoad
}
function get(a) {
    var c = document,
        d = c.body,
        e = c.documentElement,
        f = "client" + a;
    a = "scroll" + a;
    return c.compatMode === "CSS1Compat" ? Math.max(e[f], e[a]) : Math.max(d[f], d[a])
}
window.onload = fon;
i = new Image;
function fon() {
    window.clearTimeout(t);
    j++
    j %= p
    i.src = Pic[j].src;
    i.style.position = "absolute";
    i.style.left = "0px";
    i.style.top = "0px";
    i.style.zIndex = -999;
    i.id="img"
    document.body.appendChild(i)
    t = setTimeout(fon, speed)
}
if (window.innerHeight < image.offsetHeight || window.innerWidth < image.offsetWidth) {
    i.style[i.offsetHeight > i.offsetWidth ? 'height' : 'width'] = '100%';
}

window.onresize = function () {
   var i = document.getElementById("img");
   if(i) document.body.removeChild(i);
    window.clearTimeout(b);
    b = window.setTimeout(function () {
        fon()
    }, 20)
};
Ответить с цитированием