Лично я просто использую код JavaScript для переключения между 2 классами.
Настройте все, что вам нужно, на свое правило div MINUS, затем добавьте два класса (например: развернутый &) в качестве правил, каждый из которых имеет правильное фоновое изображение (или положение фона при использовании спрайта).
CSS с различными изображениями
.div {
/* button size etc properties */
}
.expanded {background: url(img/x.gif) no-repeat left top;}
.collapsed {background: url(img/y.gif) no-repeat left top;}
Или CSS с спрайт изображения
.div {
background: url(img/sprite.gif) no-repeat left top;
/* Other styles */
}
.expanded {background-position: left bottom;}
Тогда ...
JavaScript код с картинки
$(function){
$('#button').click(function(){
if($(this).hasClass('expanded'))
{
$(this).addClass('collapsed').removeClass('expanded');
}
else
{
$(this).addClass('expanded').removeClass('collapsed');
}
});
}
JavaScript с спрайта
Примечание: элегантный toggleClass не работает в Internet Explorer 6, но ниже addClass
/removeClass
метод будет работать нормально в этой ситуации также
Самое элегантное решение (к сожалению, не Internet Explorer 6 дружественных)
$(function){
$('#button').click(function(){
$(this).toggleClass('expanded');
});
}
$(function){
$('#button').click(function(){
if($(this).hasClass('expanded'))
{
$(this).removeClass('expanded');
}
else
{
$(this).addClass('expanded');
}
});
}
Насколько я знаю, этот метод будет работать accross браузеров, и я чувствую себя намного более комфортно играть с помощью CSS и классов, чем с изменениями URL в скрипте.
Почему фоновое изображение? Почему не * текст *? – 2012-09-04 19:41:24
Я проголосовал, потому что он не принял ответ через несколько лет, надеюсь, что он в порядке, хотя @ user1040899! – gsamaras 2015-12-09 03:33:58
@ user1040899 zuk1 Последнее посещение `Aug 9 '10 at 0: 42` at ** SO ** возможно, поэтому, :( – 2016-11-03 11:17:20