Jump to content
c3ejo0

Manipular strings

Recommended Posts

c3ejo0

Tenho uma área de destaques que é só texto. Esta área de destaques é expansível. Inicialmente é pequena e o só aparece os primeiros 55 caracteres sendo depois apresentado reticencias. Quando o utilizador clica em ver mais é apresentado o texto completo.

Já fiz a primeira parte - apresentar a primeira parte do texto e substituir a segunda por reticencias da seguinte forma:

texto2_destaque_'+i é onde o texto é apresentado

                   function reduzTexto(){
		for(var i=0; i<$('#box_destaques').children().length;i++){

			var totalCaracteres = $('.texto2_destaque_'+i).html().length;
			var limite=55;
			if (totalCaracteres >= limite){
				var primeiraParte = $('.texto2_destaque_'+i).html().substring(0,limite);
				var segundaParte = $('.texto2_destaque_'+i).html().substring(limite+1,totalCaracteres);
				var segundaParteSubst = segundaParte.replace(segundaParte, "...");
				var novaFrase = primeiraParte+segundaParteSubst;

				$('.texto2_destaque_'+i).text(novaFrase);
			}								
		}	
	}

Para a segunda parte é que estou a ter dificuldades.

O que eu pensei foi: quando o documento é carregado guarda num array todas as frases de destaque:

                  function obtemFrase(limite){
		var fraseDestaques = new Array();
		for(var i=0; i<limite;i++){
			fraseDestaques[i] = $('.texto2_destaque_'+i).text();
		}
		return fraseDestaques;
		alert(fraseDestaques);
	}

e depois quando o botão de ver mais fosse clicado chamava novamente a função anterior (exemplo para o primeiro destaque)

$('.verMais_0').click(function(){
		var fraseDestaques = obtemFrase(1);
		alert(fraseDestaques);
		//$('.texto2_destaque_0').text(fraseDestaques);
	});

só que o que me está a devolver é a frase reduzida, o que até percebo, uma vez que está a ir a div e busca-me o texto que lá está, que neste momento é a versao reduzida, pela função obtemFrase

Alguma ideia para esta segunda parte???

Share this post


Link to post
Share on other sites
c3ejo0

Pois, mas não tenho conhecimentos de ajax para fazer isso. Posso tentar se me derem umas luzes orientadoras. Em javascript seria mais complicado??

Obrigado

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.