Я пытаюсь изменить Простое jQuery Slideshow , опубликованное Джонатаном Раашем.
Цикл всех изображений, исчезающих от одного к следующему.
Квадратное изображение 350px в контейнере DIV высотой 350px http://img154.imageshack.us/img154/904/fixed.jpg
Его пример работает с изображениями фиксированного размера. Вместо этого я хочу, чтобы он работал с изображениями, размер которых в процентах от ширины окна браузера.
Работает с изображениями фиксированного размера ...
#slideshow {
...
height:350px;
}
#slideshow img {
...
}
Вот как я это изменил ...
#slideshow {
...
}
#slideshow img {
...
width: 50%;
}
Поскольку я больше не устанавливаю явную высоту "слайд-шоу" DIV, оно падает до 0. И изображение затем закрывает мой текст. Сравнить ...
Изображение шириной 50% в DIV-контейнере нулевой высоты (перекрывается с текстом) http://img253.imageshack.us/img253/6016/variable.jpg
Это весь мой HTML-файл, включая CSS и JavaScript ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en">
<head>
<title></title>
<style type="text/css">
#slideshow {
position:relative;
height:350px;
}
#slideshow img {
position:absolute;
top:0;
left:0;
z-index:8;
}
#slideshow img.active {
z-index:10;
}
#slideshow img.last-active {
z-index:9;
}
</style>
<script src="js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function slideSwitch() {
var $active = $('#slideshow img.active');
if ( $active.length == 0 ) $active = $('#slideshow img:last');
var $next = $active.next().length ? $active.next()
: $('#slideshow img:first');
$active.addClass('last-active');
$next.css({opacity: 0.0})
.addClass('active')
.animate({opacity: 1.0}, 1000, function() {
$active.removeClass('active last-active');
});
}
$(function() {
setInterval( "slideSwitch()", 5000 );
});
</script>
</head>
<body>
<div id="slideshow">
<img src="img/img1.jpg" alt="" class="active" />
<img src="img/img2.jpg" alt="" />
<img src="img/img3.jpg" alt="" />
</div>
<p>Lorem ipsum ...</p>
</body>
</html>
Почему мой DIV меньше его содержимого? Как я могу сделать так, чтобы высота DIV соответствовала высоте его содержимого?