Вот моя версия jQuery с легкой разметкой:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
function switchTo(i) {
$('#switches li').css('font-weight','normal').eq(i).css('font-weight','bold');
$('#slides div').css('display','none').eq(i).css('display','block');
}
$(document).ready(function(){
$('#switches li').mouseover(function(event){
switchTo($('#switches li').index(event.target));
});
switchTo(0);
});
</script>
<ul id="switches">
<li>First slide</li>
<li>Second slide</li>
<li>Third slide</li>
<li>Fourth slide</li>
</ul>
<div id="slides">
<div>Well well.</div>
<div>Oh no!</div>
<div>You again?</div>
<div>I'm gone!</div>
</div>
Это имеет преимущество в показе всех слайдов, если у пользователя отключен javascript, используется очень мало разметки HTML, и javascript довольно читабелен. Функция switchTo
принимает индексный номер, из которого активируется пара <li>
/ <div>
, сбрасывает все соответствующие элементы в их стили по умолчанию (не выделенные полужирным шрифтом для элементов списка, display:none
для DIV) и устанавливает желаемый list-item
и div
до bold
и display
. Пока на клиенте включен javascript, функциональность будет точно такой же, как в вашем исходном примере.