iisthesloth
12-05-2008, 10:20 PM
Hi all, I have been trying to make this work for some time now and the project's deadline is coming up. So any help is really appreciated...
I have a div which contains 4 buttons (links) and 4 div's with content in them. Each button has a onclick event which toggles a jQuery slideUp and slideDown action to the div which correlates to the button.
The problem is that there are many of these divs that have 4 buttons and 4 divs in them with the same class names. So every time a button is clicked on one of them, the div that correlates on all of them slide out. Heres a screenshot to better understand the functionality.
http://petesaia.com/stuff/helpme.png
Heres my javascript:
//button 1
function slideSend(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
//button 2
function slideImages(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
alert(className);
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
button 3
function slideLocation(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
//button 4
function slideFloorplan(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
and heres the markup:
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
<!--New List Item-->
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
<!--New List Item-->
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
So I somehow need to target the parent "list_block" class of the div that should be opening with out activating the others. Thanks again.
I have a div which contains 4 buttons (links) and 4 div's with content in them. Each button has a onclick event which toggles a jQuery slideUp and slideDown action to the div which correlates to the button.
The problem is that there are many of these divs that have 4 buttons and 4 divs in them with the same class names. So every time a button is clicked on one of them, the div that correlates on all of them slide out. Heres a screenshot to better understand the functionality.
http://petesaia.com/stuff/helpme.png
Heres my javascript:
//button 1
function slideSend(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
//button 2
function slideImages(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
alert(className);
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
button 3
function slideLocation(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
//button 4
function slideFloorplan(class) {
var className = document.getElementsByClassName(class);
var status = document.getElementsByClassName(class).style.display;
if (status == 'none'){
$(className).slideDown('slow');
} else {
$(className).slideUp('slow');
}
}
and heres the markup:
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
<!--New List Item-->
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
<!--New List Item-->
<div class="list_block">
<div class="controls">
<a onclick="slideImages('img_extended');">View More Images</a>
<a onclick="slideFloorplan('flrPlan_extended');">View Foor Plan</a>
<a onclick="slideLocation('location_extended');">View Location</a>
<a onclick="slideSend('send_extended');">Send to a Friend</a>
</div>
<div class="img_extended"><!--content--></div>
<div class="flrPlan_extended"><!--content--></div>
<div class="location_extended"><!--content--></div>
<div class="send_extended"><!--content--></div>
</div>
So I somehow need to target the parent "list_block" class of the div that should be opening with out activating the others. Thanks again.