JQuery проблема изменения размера изображения

Я нашел эту строку кода где-то, используя firebug, и я знаю, что вам нужно что-то поместить туда, где я поставил 3... за parseFloat, но я понятия не имею, что. Это работает, когда я заполняю случайное число, но ширина никогда не бывает правильной, и я хочу использовать его на нескольких страницах с фотографиями, чтобы всегда был правильный размер.

script type="text/javascript">
var badBrowser = (/MSIE ((5\.5)|6)/.test(navigator.userAgent) && navigator.platform == "Win32");
$(document).ready(function(){
var scaledwidth = ((parseFloat(...)*($(window).height()/4000))+50).toFixed(0);
if (badBrowser) {
$('#container img').css('height',$(window).height()+'px');
}
$('#container').css('width',scaledwidth+'px');
imageresize();
});
jQuery(window).resize(function() {
var scaledwidth = ((parseFloat(...)*($(window).height()/4000))+50).toFixed(0);
if (badBrowser) {
$('#container img').css('height',$(window).height()+'px');
}
$('#container').css('width',scaledwidth+'px');
imageresize();
});
function imageresize() {
var height = $(window).height();
if ((height) > 1340){
var quality='1440';
} else if((height) > 980) {
var quality='1080';
} else if((height) > 680) {
var quality='720';
} else if((height) > 480) {
var quality='640';
} else {
var quality='320';
}

}
</script>   

Заранее спасибо!

1 ответ

Решение

Мне кажется, что значение, которое вам нужно указать, зависит от суммы значений ширины всех изображений; поэтому вы не можете просто выбрать значение, которое работает для всех страниц.

С другой стороны, это также кажется плохим решением проблемы держать изображения рядом друг с другом. Зачем устанавливать ширину контейнера? Если вы просто убедитесь, что пустое пространство не переносится, тогда все изображения должны располагаться рядом друг с другом, не беспокоясь о ширине контейнера.

#container
{
    white-space: nowrap; /* keep images on the same line */
    font-size: 0;        /* removes whitespace between images */
}

http://jsfiddle.net/f8y4Z/

Из Ja vaScript, теперь нам нужно только imageresize() (при условии, что мы используем его для установки исходных изображений разного качества) и активируем его ready а также resize; магические числа не требуются.

(Для обратной совместимости с браузерами, которые не поддерживают или плохо поддерживают white-spaceВы могли бы использовать <nobr></nobr>)

Другие вопросы по тегам