var array=new Array();// создаем новый массив, в который помещаем имена картинок в папке "galery"
<?php
$dir="../images/galery";
$files=scandir($dir);
echo "var count=".count($files).";";
echo "var count1=".count($files)."-1;";
for($i=2;$i < count($files); $i++){
echo "array[".$i."]='".$files[$i]."';";
}
?>
function panorama(){
$('.panorama').removeAttr("style");
$('.panorama').load(function(){
var ImgW=$(this).width(); //Размеры картинки галереи и соотношение ее сторон
var ImgH=$(this).height();
var CenterW=$('#center').width();//размеры контента
var CenterH=$('#center').height();
var ImgWH=ImgH/ImgW;
var CenterWH=CenterH/CenterW;
var newImgW=CenterH/ImgWH;
var newImgH=CenterW*ImgWH;
if(ImgW > CenterW){ //Размещаем картинку внуттри контента по максимальным возможностям
if(ImgH > CenterH){
if(CenterWH >=ImgWH){
ImgW = CenterW;
ImgH = newImgH;
}
else{
ImgH = CenterH;
ImgW = newImgW;
}
}
else{
ImgW = CenterW;
ImgH = newImgH;
}
}
else{
if(ImgH > CenterH){
ImgH = CenterH;
ImgW = newImgW;
}
}
$('.panorama').animate({'width':ImgW, 'height':ImgH},15000);
});
};
panorama();
var time2=setInterval(function(){
$('.panorama').stop();
var way="/templates/neon/images/galery/"+array[Math.floor(Math.random() * (count1 - 2 + 1)) + 2];
$('.panorama').attr('src', way);
panorama();
},16000);
Вот такой код. Имеется некий блок
center, в него изначально помещается некая картинка(для блока применяется
overflow: hidden). Размеры картинки заранее неизвестны, так же как и оберточного блока
center(задается в зависимости от разрешения экрана). Я выясняю размеры картинки и блока, нахожу самые приемлемые ширину и высоту для картинки(чтобы она по максимуму влезла в блок и сохранила соотношение). А дальше простая анимация, которая, собственно, и сужает размеры картинки до размеров блока( функция panorama()). Вызываю panorama() - все чудесно. Но мне надо, чтобы сменились картинки - вещаю
Interval.Первые одна-две картинки(после смены) проходят нормально:анимация работает чудесно, но последующие... Анимация не работает. Выполняется сужение в миг, без эффекта анимации. Причем начиная с 3-й(со смены) картинки ширина и высота задаются такие, которые были заданы второй(словно выдирает из кэша значения). Анимация вроде и продолжается - изменение параметров идет, но величина настолько малая, что визуально не заметно.
В общем, сос!
P.S.Консоль js бывает выдает такое:
Resource interpreted as Script but transferred with MIME type text/html
Ругается на jquery библиотеку и на сам js.
Но это вроде как несмертельный загон хрома.