The answer here was very helpful. Now I need to build more on the previous question. First time I posted, I needed to make a son fire an event for its parent element. Now, I must do both things. When clicking a single button in a layer, I need to change the text inside the button AND in the same click fire the sliding effect inside the parent container. I have been trying with no success.
Just in case, below is the updated code with the most recent changes applied... I just need to change the text inside the pink box and then when clicked again, the box will revert (toggle) to the original text. Thanks!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
// Global arrays.
var a = [];
var b = [];
// Functions
function disp(divs) {
for (var i = 0; i < divs.length; i++) {
a.push(divs[i].id);
b.push(divs[i].offsetHeight);
}
}
$(".abrefecha").click( function() {
jQuery(this).parent().toggle(
function () {
var itemId = jQuery(this).attr("id");
var itemIndex = $(".showhide").index(this);
var currentItemHeight = b[itemIndex] + 30 + 'px'
jQuery(this).css("overflow","auto");
jQuery(this).animate( { height: currentItemHeight } , 500 );
$(this).unbind('click');
},
function () {
jQuery(this).css("overflow","hidden")
jQuery(this).animate( { height:"60px" } , 500 );
$(this).unbind('click');
}
);
});
// Action
disp( jQuery(".showhide"));
jQuery(".showhide").css("height","60px")
});
</script>
<style>
div.showhide { position: relative; background:#de9a44; margin:3px; width:150px; overflow: hidden; display:block; }
div.abrefecha { clear: both; position: absolute; bottom: 0; right: 0; z-index: 10; background-color: fuchsia;}
</style>
</head>
<body>
<div id="clickme">Click me!</div>
<div id="mod345_1" class="showhide">E eu tenho muito texto aqui. Tenho muito conteúdo neste bloco. Eu preciso de muito muito texto e coisas demais... E eu tenho muito texto aqui. Tenho muito conteúdo neste bloco. Eu preciso de muito muito texto e coisas demais... <div class="abrefecha">abrefecha</div></div>
<div id="mod345_2" class="showhide">Tenho muito conteúdo neste bloco. Eu preciso de muito muito texto e coisas demais... E eu tenho muito texto aqui. Tenho muito conteúdo neste bloco. Eu preciso de muito muito texto e coisas demais... E eu tenho muito texto aqui. <div class="abrefecha">abrefecha</div></div>
<div id="mod345_3" class="showhide">E por fim não se esqueçam de mim porque estou aqui. E eu tenho muito texto aqui. E eu tenho muito texto aqui. E por fim não se esqueçam de mim porque estou aqui. E eu tenho muito texto aqui. E eu tenho muito texto aqui. hkdh kajhd kasjhd kasjhd aksjdh aksjhdaskjhd askjh askjdh askjdh askjh daskj <div class="abrefecha">abrefecha</div></div>
</body>
</html>