Mi consulta es la siguiente, he estado por varios dias intentando montar en mi web un slider sencillo con JQuery, CSS y JavaScript, este es el mas sencillo que encontre, funciona bien cuando esta trabajando normal (sin traer datos desde una tabla en MySQL y usando PHP), este es el codigo que coloco
<?PHP
require_once("conexion.php");
$sql="select * from slider_dinamico where slider_dinamico.estado = 1 order by slider_dinamico.orden asc";
$res=mysql_db_query($bd,$sql,$con);
while ($reg=mysql_fetch_array($res))
{
?>
<html>
<head>
<title></title>
<style>
/* Contenedor general */
#slider-wrapper {
position: relative;
width: 800px;
max-width: 100%;
margin: 0 auto;
padding: 0 10px;
font-family: arial, sans-serif;
font-size: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
/* Contenedor slider */
#slider {
position: relative;
width: 100%;
padding-bottom: 50%; /* Aspect ratio */
overflow: hidden;
border:10px solid #333;
border-radius: 5%/10%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#slider > a {
position:absolute;
top:0;
left:0;
width: 100%;
min-height: 100%;
}
/* Ajuste de las imágenes */
#slider img {
width: 100%;
min-height: 100%;
position: absolute;
margin:0;
padding:0;
border:0;
}
/* Texto que acompaña a cada imagen */
#slider p {
position: absolute;
bottom: 5%;
left: 0;
display: block;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
width: 80%;
height: 18px;
margin:0;
padding: 5px 0;
border-radius: 0 20px 20px 0;
color: #eee;
background: #333;
font-size: 18px;
line-height: 18px;
text-align:center;
}
/* Flechas de navegación */
a.mas, a.menos {
position: absolute;
top: 50%;
left: 10px;
z-index: 10;
width: 30px;
height: 30px;
text-align: center;
line-height: 30px;
font-size: 30px;
color: white;
background: #333;
text-decoration: none;
}
a.mas {
left: 100%;
margin-left: -40px;
}
</style>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js' type='text/javascript'/>
<script type="text/javascript">//<![CDATA[
$(function(){
$('#slider div:gt(0)').hide();
setInterval(function(){
$('#slider div:first-child').fadeOut(0)
.next('div').fadeIn(1000)
.end().appendTo('#slider');}, 4000);
});
//]]></script>
</head>
<body>
<div id="slider-wrapper">
<div id="slider">
<a href="<?=$reg["link"];?>"><img src="<?=$reg["imagen"];?>" /><h2><a href='<?=$reg["link"];?>'><?=$reg["titulo"];?></a></h2><p><?=$reg["descripcion"];?>
</p></a>
</div>
<a href="javascript:void();" class="mas">›</a>
<a href="javascript:void();" class="menos">‹</a></div>
<script>
$(function(){
$('#slider a:gt(0)').hide();
var interval = setInterval(changeDiv, 6000);
function changeDiv(){
$('#slider a:first-child').fadeOut(1000).next('a').fadeIn(1000).end().appendTo('#slider');
};
$('.mas').click(function(){
changeDiv();
clearInterval(interval);
interval = setInterval(changeDiv, 6000);
});
$('.menos').click(function(){
$('#slider a:first-child').fadeOut(1000);
$('#slider a:last-child').fadeIn(1000).prependTo('#slider');
clearInterval(interval);
interval = setInterval(changeDiv, 6000);
});
});
</script>
</body>
</html>
<?php
}?>
Trabaja bien cuando esta sin el PHP y el MySQL
Pero al pasarle el PHP y traer los datos de la base de datos me muestra la imagen debajo de la siguiente forma.
No se en verdad que sucede he buscado por hora en Google y no he logrado encontrar respuesta.
Esta es la tabla desde donde traigo lo datos.
CREATE TABLE `slider_dinamico` (
`id` int(11) NOT NULL auto_increment,
`titulo` varchar(255) collate utf8_spanish_ci NOT NULL,
`imagen` varchar(255) collate utf8_spanish_ci NOT NULL,
`descripcion` text collate utf8_spanish_ci NOT NULL,
`link` varchar(255) collate utf8_spanish_ci default NULL,
`orden` int(11) NOT NULL,
`estado` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=3 ;
Espero que me puedan ayudar a encontrar el error.
Gracias de ante mano.