मैं व्यक्तिगत रूप से केवल 2 वर्गों के बीच स्विच करने के लिए जावास्क्रिप्ट कोड का उपयोग करूंगा।
सीएसएस रूपरेखा की जरूरत है सब कुछ आप अपने div MINUS पर पृष्ठभूमि नियम की जरूरत है, तो दो वर्गों (जैसे: विस्तारित और ढह) को सही पृष्ठभूमि छवि (या एक प्रेत का उपयोग कर पृष्ठभूमि की स्थिति) के साथ प्रत्येक के रूप में जोड़ें।
विभिन्न छवियों के साथ सीएसएस
.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;}
या छवि स्प्राइट के साथ सीएसएस
.div {
background: url(img/sprite.gif) no-repeat left top;
/* Other styles */
}
.expanded {background-position: left bottom;}
फिर...
छवियों के साथ जावास्क्रिप्ट कोड
$(function){
$('#button').click(function(){
if($(this).hasClass('expanded'))
{
$(this).addClass('collapsed').removeClass('expanded');
}
else
{
$(this).addClass('expanded').removeClass('collapsed');
}
});
}
स्प्राइट के साथ जावास्क्रिप्ट
नोट: सुरुचिपूर्ण toggleClass इंटरनेट एक्सप्लोरर 6 में काम नहीं करता है, लेकिन नीचे addClass/ removeClassविधि इस स्थिति में भी ठीक काम करेगी
सबसे सुंदर समाधान (दुर्भाग्य से इंटरनेट एक्सप्लोरर 6 अनुकूल नहीं)
$(function){
$('#button').click(function(){
$(this).toggleClass('expanded');
});
}
$(function){
$('#button').click(function(){
if($(this).hasClass('expanded'))
{
$(this).removeClass('expanded');
}
else
{
$(this).addClass('expanded');
}
});
}
जहाँ तक मुझे पता है कि यह विधि ब्राउज़रों के साथ काम करेगी, और मुझे स्क्रिप्ट में URL परिवर्तनों के साथ सीएसएस और कक्षाओं के साथ खेलने में अधिक सहज महसूस होगा।