Foros del Web » Programando para Internet » Javascript »

Visor de imagen evitar mostrar primera imagen

Estas en el tema de Visor de imagen evitar mostrar primera imagen en el foro de Javascript en Foros del Web. Buen dia, tengo el siguiente código que encontré por ahí para visualizar imagenes de una carpeta y yo le paso la dirección a traves de ...
  #1 (permalink)  
Antiguo 21/03/2012, 16:41
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Visor de imagen evitar mostrar primera imagen

Buen dia, tengo el siguiente código que encontré por ahí para visualizar imagenes de una carpeta y yo le paso la dirección a traves de una ruta que le paso desde la bd.

Pero el problema del código, es que me muestra siempre al iniciar la galería una imagen que no tiene nada que ver con la del directorio a mostrar y me la marca como la imagen numero 1 siendo que la imagen 1 es otra. mi pregunta es si habría alguna forma de evitar mostrar esa imagen y mostrar ya la primera imagen del directorio.

muchas gracias y espero haberme explicado bien, saludos y quedo pendiente de sus respuestas.

Código:
<?php 
session_start();
include ('config.php');
$c_capitulo = $_GET['capitulo']; // Esto recoje los datos de la variable id en la url.
$registros=mysql_query("SELECT * FROM capitulos WHERE c_capitulo='$c_capitulo'",  
           $db_link) or
  die("Problemas en el select:".mysql_error());
while ($reg=mysql_fetch_array($registros))
{
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="manganix.css" type="text/css" media="screen" />
<SCRIPT LANGUAGE="JavaScript"> var rotate_delay = 5000; current = 0; 
function next() { document.images.show.src = document.slideform.slide[current+1].value; document.slideform.slide.selectedIndex = ++current; }

function previous() { document.images.show.src = document.slideform.slide[current-1].value; document.slideform.slide.selectedIndex = --current; }  function ap(text) { document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop"; rotate(); }

function change() { current = document.slideform.slide.selectedIndex; document.images.show.src = document.slideform.slide[current].value; }

function rotate() { if (document.slideform.slidebutton.value == "Stop") { current = (current == document.slideform.slide.length-1) ? 0 : current+1; document.images.show.src = document.slideform.slide[current].value; document.slideform.slide.selectedIndex = current; window.setTimeout("rotate()", rotate_delay); } } //  End --> </script>
<style>
body{
background:#26172D;
}
body,a,select,option{color:#26172D;font:bold;}
select{border:0;
background:#ffffff;
}
.button{color:#26172D;margin:5px 5px 5px;background:#ffffff;font:bold 11px Verdana;padding:5px 5px;border:1px solid #2e6d76;}
.img {
margin-top:5px;}
.datos  {
text-align: left;
margin:0;
}
.datos a {
color: #2F98F1;
margin:0;
}
</style>
</head>

<body>
<table width="982" border="0" align="center" cellpadding="0" cellspacing="0">
            <tr> 
              <td><div id="logo" align="center"></div></td>
              </td>
            </tr>
          </table>
		  <table width="982" border="0" align="center" cellpadding="0" cellspacing="0">
    <tr><td bgcolor="#F5F5F5"><div align="left" class="datos"></div></td>
		<td bgcolor="#F5F5F5"><form name=slideform>
        <div align="right">
          <select name="slide" onChange="change();">
            <?php 
$files = scandir("".$reg['c_path'].""); 
$dir ="".$reg['c_path']."";

$c1 = count($files);
$c2 = 1;
for($i=0; $i<$c1; $i++)
{
  if(strlen($files[$i]) > 3)
  {
  $extension = strtolower(substr($files[$i], -4));
    if(($extension == ".gif") OR ($extension == ".jpg") OR ($extension == ".png"))
    {
    echo "<option value='$dir".$files[$i]."'>$c2";
      	$c2++;    
    }
  }
  }
 ?>
          </select>
          <input type=button onClick="previous();" value="Anterior" title="Anterior" class="button">
          <input type=button onClick="next();" value="Siguiente" title="Siguiente" class="button">
        </div>
      </form></td></tr><tr> 
    <td colspan="2"><div align="center"><br><br>
  <img src="images/ver_capitulo.png" name="show" class="img"></div></td>
  </tr>
  <tr><td bgcolor="#F5F5F5">
  Scanlator:<br>
  <?php echo "".$reg['s_scan'].""; ?><?php 
}
?></td><td bgcolor="#F5F5F5"></td></tr>
    </table>
</body>
</html>
  #2 (permalink)  
Antiguo 23/03/2012, 09:20
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

tienes algún lugar donde se lo pueda ver
__________________
PD gracias por el karma
  #3 (permalink)  
Antiguo 23/03/2012, 15:26
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

si, aqui en este link http://manganix.x10.mx/galeria.php?capitulo=1 da clic en siguiente y muestra la imagen 2 y le das clic atras y te muestra lo que deberia ser la primera imagen y no la imagen que aparece por default, y gracias por tu ayuda
  #4 (permalink)  
Antiguo 23/03/2012, 17:51
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

<img src="images/ver_capitulo.png" name="show" class="img">
fíjate que ahí llama a la imagen
prueba quitar eso o poner la dirección de la imagen correcta
Luego cuéntame cómo te fue
__________________
PD gracias por el karma
  #5 (permalink)  
Antiguo 24/03/2012, 11:00
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

Gracias, pero ya le quite eso pero es necesario para que muestre con eso las imagenes y no hay forma de que le pase una direccion en especifico ya que muestro los directorios de forma dinamica por una url que le paso de la BD.

he tratado de mostrar la imagen de esta forma

Código HTML:
Ver original
  1. function imagen() {  write('<a id="enlace" href="' + current[+1] + '"><img src="' + current[+1] + '" name="show"></a>') }

Código HTML:
Ver original
  1. <script language="javascript" type="text/javascript">imagen();</script>

pero esta mal XD
  #6 (permalink)  
Antiguo 25/03/2012, 09:49
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

perdona la tardanza a lo que me refería a

<img src="images/ver_capitulo.png" name="show" class="img">

poner ahí el nombre de tu imagen

no sé si me explico bien.
cualquier cosa decime
__________________
PD gracias por el karma
  #7 (permalink)  
Antiguo 25/03/2012, 10:15
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

gracias por contestar, pero el problema es que la primera imagen no siempre tendra el mismo nombre ya que la url del directorio sera distinto ya que se la paso por una ruta guardada en la bd anteriormente por eso queria saber si habria alguna forma de que donde va la imagen cambie el nombre en automatico por la primera del directorio que se le de,

saludos y gracas por la ayuda
  #8 (permalink)  
Antiguo 26/03/2012, 07:00
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

deja la línea como estaba y agrega esto a tu js

imagen1=new Image

imagen1.src="images/ver_capitulo.png"

document.images['show'].src=imagen1.src;


remplaza
"images/ver_capitulo.png" por la función que determina tu imagen


prueba y
cuéntame
__________________
PD gracias por el karma
  #9 (permalink)  
Antiguo 26/03/2012, 09:47
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

Disculpa madhatterdef al parecer estoy haciendo algo mal ya que no muestra la imagen mira galeria.php

he puesto el codigo de esta forma

Código Javascript:
Ver original
  1. <SCRIPT LANGUAGE="JavaScript"> var rotate_delay = 5000; current = 0;
  2. function next() { document.images.show.src = document.slideform.slide[current+1].value; document.slideform.slide.selectedIndex = ++current; }
  3.  
  4. function previous() { document.images.show.src = document.slideform.slide[current-1].value; document.slideform.slide.selectedIndex = --current; }  function ap(text) { document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop"; rotate(); }
  5.  
  6. function change() { current = document.slideform.slide.selectedIndex; document.images.show.src = document.slideform.slide[current].value; }
  7.  
  8.  function imagen() {  imagen1=new Image
  9.  
  10. imagen1.src="images/ver_capitulo.png"
  11.  
  12. document.images['show'].src=imagen1.src; }  
  13.  
  14.  //  End -->
  15. </script>

y para mostrar la imagen asi

Código Javascript:
Ver original
  1. <img src="<script language="javascript" type="text/javascript">imagen();</script>" name="show" class="img">

saludos y gracias por tu ayuda
  #10 (permalink)  
Antiguo 26/03/2012, 15:18
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

Cita:
Iniciado por madhatterdef Ver Mensaje
deja la línea como estaba y agrega esto a tu js

imagen1=new Image

imagen1.src="images/ver_capitulo.png"

document.images['show'].src=imagen1.src;


remplaza
"images/ver_capitulo.png" por la función que determina tu imagen


prueba y
cuéntame


creo que no me explique bien


en el html esta es la línea que tenes que dejar


<img src="images/ver_capitulo.png" name="show" class="img">

y el js dejalo fuera de todas las funciones

y no olvides remplazar "images/ver_capitulo.png" (del js ) por la función que determina tu imagen
__________________
PD gracias por el karma
  #11 (permalink)  
Antiguo 26/03/2012, 17:40
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

perdona mi ignorancia madhatterdef, el del problema soy yo ya que no logro hacerlo bien, tengo el codigo de esta forma tratando de hacerlo como me dices y no se si la function imagen() este bien.

Código Javascript:
Ver original
  1. <SCRIPT LANGUAGE="JavaScript"> var rotate_delay = 5000; current = 0;
  2. function next() { document.images.show.src = document.slideform.slide[current+1].value; document.slideform.slide.selectedIndex = ++current; }
  3.  
  4. function previous() { document.images.show.src = document.slideform.slide[current-1].value; document.slideform.slide.selectedIndex = --current; }  function ap(text) { document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop"; rotate(); }
  5.  
  6. function change() { current = document.slideform.slide.selectedIndex; document.images.show.src = document.slideform.slide[current].value; }
  7.  
  8. function imagen() {  write('<a id="enlace" href="' + current[+1] + '"><img src="' + current[+1] + '" name="show"></a>') }
  9.  
  10. //  End -->
  11. </script>
  12. <script language="JavaScript" type="text/JavaScript">
  13. imagen1=new Image
  14.  
  15. imagen1.src="imagen();"
  16.  
  17. document.images['show'].src=imagen1.src;
  18. </script>


y la imagen la muestro asi

Código Javascript:
Ver original
  1. <img src="images/ver_capitulo.png" name="show" class="img">

pero sigue estando mal. gracias y disculpa lo tonto que soy en esto
  #12 (permalink)  
Antiguo 27/03/2012, 15:43
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

Hola madhatterdef, te comento que ya pude hacer que muestre la imagen directamente del directorio lo logre de esta forma

Código Javascript:
Ver original
  1. var images = [<? if (is_dir($dir)){if ($dh = opendir($dir)){while (($file = readdir($dh)) !== false){if($file != '.' && $file != '..' && $file != 'Thumbs.db'){if($i==0){$firstpic=$file;}$i++;$filenames.="'".$file."', ";}}echo substr($filenames, 0, -2);closedir($dh);}}?>];
  2. images.sort()

pero ahora mi problema es que no me ordena las imagenes que se mostraran viendo el codigo fuente me las muestra asi

Código HTML:
Ver original
  1. var images = ['VK47-04.jpg', 'VK47-13.jpg', 'VK47-06.jpg', 'VK47-10.jpg', 'VK47-01.jpg', 'VK47-08.jpg', 'VK47-11.jpg', 'VK47-02.jpg', 'VK47-03.jpg', 'VK47-05.jpg'];
  2. var images = sort(imagenes);

podrias ayudarme para saber de que forma poder ordenarlas
  #13 (permalink)  
Antiguo 28/03/2012, 16:05
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

disculpa que te haya podido responder antes proba esto

<SCRIPT LANGUAGE="JavaScript">
var rotate_delay = 5000; current = 0;
function next() { document.images.show.src = document.slideform.slide[current+1].value; document.slideform.slide.selectedIndex = ++current; }

function previous() { document.images.show.src = document.slideform.slide[current-1].value; document.slideform.slide.selectedIndex = --current; } function ap(text) { document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop"; rotate(); }

function change() { current = document.slideform.slide.selectedIndex; document.images.show.src = document.slideform.slide[current].value; }

imagen1=new Image

imagen1.src=current[+1]

document.images['show'].src=imagen1.src;
</script>
__________________
PD gracias por el karma
  #14 (permalink)  
Antiguo 29/03/2012, 12:09
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Visor de imagen evitar mostrar primera imagen

Gracias por la ayuda madhatterdef, pero termine resolviendolo de esta forma

Cita:
var images = [<?php

if(is_dir($dir)){
$arreglo = scandir($dir);
foreach($arreglo as $file){
if($file != '.' && $file != '..' && $file != "Thumbs.db"){
if($i==0)
$firstpic=$file;
$i++;
$filenames .= "'".$file."', ";
}
}
echo substr($filenames, 0, -2);
}

?>];
y mostrando la imagen asi

Cita:
<img style="CURSOR: hand" src="<?php echo $dir; ?><? echo $firstpic; ?>"name="show" class="img">
muchas gracias por tu ayuda
  #15 (permalink)  
Antiguo 29/03/2012, 15:56
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 4 meses
Puntos: 59
Respuesta: Visor de imagen evitar mostrar primera imagen

No fue nada.

Cuenta con mi ayuda para resolver próximos problemas.
__________________
PD gracias por el karma

Etiquetas: html, input, php, primera, visor
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 04:27.