Ciao a tutti ragazzi
era da parecchio che non utilizzavo il .toggle() e proprio ieri ho saputo che da jQuery 1.9 è eliminato e deprecato.
Devo far si che al click su di un anchor (<a>) venga fatto il "toggle" dell'altezza di un div per nascondere/mostrare un testo nascosto al document.ready e inoltre stampare nell'ancora il testo "Per saperne di più"/"Chiudi". Ho trovato il seguente script che mi fa tutto ciò, il problema è che ho bisogno di inserire in queste righe di codice il riferimento sull'anchor sulla quale ho cliccato. Perchè se in pagina ho n-div con la classe in questione il mostra/nascondi lo fa su tutti ma in realtà l'azione deve avvenire SOLO sull'elemento su cui clicco e non su tutti gli altri (una sorta di $(this).parent() ecc...)! Come posso fare? Vi posto il codice modificato.
Grazie anticipatamente a chi saprà darmi una mano!
O provato anche ad utilizzare l'animate ma accade che lo fa una volta soltanto per poi bloccarsi:
era da parecchio che non utilizzavo il .toggle() e proprio ieri ho saputo che da jQuery 1.9 è eliminato e deprecato.
Devo far si che al click su di un anchor (<a>) venga fatto il "toggle" dell'altezza di un div per nascondere/mostrare un testo nascosto al document.ready e inoltre stampare nell'ancora il testo "Per saperne di più"/"Chiudi". Ho trovato il seguente script che mi fa tutto ciò, il problema è che ho bisogno di inserire in queste righe di codice il riferimento sull'anchor sulla quale ho cliccato. Perchè se in pagina ho n-div con la classe in questione il mostra/nascondi lo fa su tutti ma in realtà l'azione deve avvenire SOLO sull'elemento su cui clicco e non su tutti gli altri (una sorta di $(this).parent() ecc...)! Come posso fare? Vi posto il codice modificato.
Grazie anticipatamente a chi saprà darmi una mano!
Codice:
//plugin per vedere + o - testo nei box video
var adjustheight = 255;
var defaultHeight = "auto";
var moreText = "Per saperne di più";
var lessText = "Chiudi";
$(".row .panel article").css('height', adjustheight).css('overflow', 'hidden');
$.fn.clicktoggle = function(a, b) {
return this.each(function() {
var clicked = false;
$(this).bind("click", function() {
if (clicked) {
clicked = false;
return b.apply(this, arguments);
}
clicked = true;
return a.apply(this, arguments);
});
});
};
function moretext() {
$(".row .panel article").css('height', 'auto').css('overflow', 'visible');
$(".row .panel p.more a").text(lessText);
return false;
}
function lesstext() {
$(".row .panel article").css('height', adjustheight).css('overflow', 'hidden');
$(".row .panel p.more a").text(moreText);
return false;
}
$(".row .panel p.more a").clicktoggle(moretext, /plugin per vedere + o - testo nei box video (trigger)
O provato anche ad utilizzare l'animate ma accade che lo fa una volta soltanto per poi bloccarsi:
Codice:
$(".row .panel p.more a").click( function () {
$(this).parent().prev().animate({
height: ( $(this).parent().prev().height() == adjustheight) ? $(this).parent().prev().css("height","auto") : adjustheight
}, 200);
return false;
});