Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Crear link de retroceso de urls y de avance

Estas en el tema de Crear link de retroceso de urls y de avance en el foro de Javascript en Foros del Web. Este toma la url, la separa del numero final, le suma 1 y crea un link nuevo para ejecutar. Ahora me gustaría crear otro link ...
  #1 (permalink)  
Antiguo 19/02/2018, 22:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 96
Antigüedad: 15 años, 11 meses
Puntos: 0
Crear link de retroceso de urls y de avance

Este toma la url, la separa del numero final, le suma 1 y crea un link nuevo para ejecutar.

Ahora me gustaría crear otro link igual que retroceda. Es decir que tome el link actual y le reste uno para generar un link nuevo.

Pero parece que generar un --lastSegment perjudica el ++lastSegment que si funciona.

¿Que puedo hacer para que el nuevo link funcione y no dañe el viejo link?
Estoy atorado en eso. Les agradezco la ayuda.

Gracias


<script type="text/javascript">

function getAbsolutePath() {
var loc = window.location;
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
}

var geta = getAbsolutePath();
var parts = window.location.href.split('/');
var lastSegment = parts.pop() || parts.pop();

var sigue = geta.concat(++lastSegment);

var a = document.createElement('a');
var linkText = document.createTextNode("Avanza");
a.appendChild(linkText);
a.href = sigue;
document.body.appendChild(a);


</script>
  #2 (permalink)  
Antiguo 20/02/2018, 04:25
alvaro_trewhela
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Crear link de retroceso de urls y de avance

Haz una funcion con parámetro de accion, aplicas if y listo...


Código Javascript:
Ver original
  1. function addPaginUrl(act){
  2. var geta = getAbsolutePath();
  3. var parts = window.location.href.split('/');
  4. var lastSegment = parts.pop() || parts.pop();
  5.  
  6. var title = "Avanza";
  7. if(act == "+"){ ++lastSegment; }else{ --lastSegment; title="Retrocede"; }
  8.  
  9. var sigue = geta.concat(lastSegment);
  10.  
  11. var a = document.createElement('a');
  12. var linkText = document.createTextNode(title);
  13. a.appendChild(linkText);
  14. a.href = sigue;
  15. document.body.appendChild(a);
  16. }

Entonces para link de avance:
addPaginUrl("+")
Retroceso, cualquier parámetro, ej:
addPaginUrl("-")

  #3 (permalink)  
Antiguo 22/02/2018, 11:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 96
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Crear link de retroceso de urls y de avance

Me gustó que en la solucion que me pasate pusieras todo dentro de una función yo no supe hacerlo bien y al crear la funcion no me pone los links en la pagina.
Es que muy soy novato.
Pero con esa solución solo muestra un link y necesito los dos.
Lo que quisiera es poder asociar cada link a una tecla rapida con el fragmento final del codigo final que tengo.
Ahora me quedaron los dos links con este codigo :
<script type="text/javascript">

function getAbsolutePath() {
var loc = window.location;
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
}

var geta = getAbsolutePath();
var parts = window.location.href.split('/');
var lastSegment = parts.pop() || parts.pop();
var sigue = geta.concat(++ lastSegment);
var a = document.createElement('a');
var linkText = document.createTextNode("Avanza");
a.appendChild(linkText);
a.href = sigue;
document.body.appendChild(a);



function getAbsolutePathy() {
var loc1 = window.location;
var pathName1 = loc1.pathname.substring(0, loc1.pathname.lastIndexOf('/') + 1);
return loc1.href.substring(0, loc1.href.length - ((loc1.pathname + loc1.search + loc1.hash).length - pathName1.length));
}


var geta1 = getAbsolutePathy();
var parts1 = window.location.href.split('/');
var lastSegment1 = parts1.pop() || parts1.pop();
var atras1 = geta1.concat(-- lastSegment1);
var aw = document.createElement('a');
var linkText1 = document.createTextNode("Atrasa");
aw.appendChild(linkText1);
aw.href = atras1;
document.body.appendChild(aw);

//Esto crea dos teclas rapidas. Barra espaciadora y alt que muestran una ventana de alerta cada vez que que se apretan
window.onkeydown=tecla;
function tecla(event){
num = event.keyCode;
if(num==18) alert("Atrasa");
if(num==32){
alert("Avanza");
window.close();
}
}
</script>

Etiquetas: java, link, urls
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:54.