Foros del Web » Programando para Internet » Jquery »

Slider de Fotos y Contenido HTML con JAVASCRIPT CSS (sin jquery u otra liberia)

Estas en el tema de Slider de Fotos y Contenido HTML con JAVASCRIPT CSS (sin jquery u otra liberia) en el foro de Jquery en Foros del Web. Dado que siempre he obtenido de esta página respuestas que necesitaba para poder trabajar ahora les dejo un slider en JAVASCRIPT y CSS, sin ninguna ...
  #1 (permalink)  
Antiguo 18/07/2011, 11:13
 
Fecha de Ingreso: septiembre-2010
Ubicación: Corrientes - Argentina
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 2
Slider de Fotos y Contenido HTML con JAVASCRIPT CSS (sin jquery u otra liberia)

Dado que siempre he obtenido de esta página respuestas que necesitaba para poder trabajar ahora les dejo un slider en JAVASCRIPT y CSS, sin ninguna libreria externa.

Espero les sirva.

La he separado en tres archivos un html, otro js y otro css. Aquí les dejo los códigos con los comentarios agregados.

Archivo .JS (solo deberían modificar donde entre comentarios: //configuracion de variables)

Código:
// JavaScript Document
//Funciones extras utilizadas
function is_int (mixed_var) {
    // !No description available for is_int. @php.js developers: Please update the function summary text file.
    // 
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/is_int
    // +   original by: Alex
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +    revised by: Matt Bradley
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: WebDevHobo (http://webdevhobo.blogspot.com/)
    // %        note 1: 1.0 is simplified to 1 before it can be accessed by the function, this makes
    // %        note 1: it different from the PHP implementation. We can't fix this unfortunately.
    // *     example 1: is_int(23)
    // *     returns 1: true
    // *     example 2: is_int('23')
    // *     returns 2: false
    // *     example 3: is_int(23.5)
    // *     returns 3: false
    // *     example 4: is_int(true)
    // *     returns 4: false
    if (typeof mixed_var !== 'number') {
        return false;
    }
 
    return !(mixed_var % 1);
}
//funciones extras utilizadas

// declaracion de variables
var numeroIma;
var anchoIma;
var posicionActual;
var posicionMaxima;
var idListaIma;
var cantidadPixelesMovimiento;
var cantidadPixelesRetroceso;
var pausaEnItems;
var pausaEnItemsFinal;
var milisegundosDeMovimiento;
// declaracion de variables


//configuracion de variables
numeroIma=3; // cantidad de li en la lista cuadros divs o imagenes
anchoIma=1000; // en pixeles
posicionActual=0; // itinerador en pixeles movidos (No Tocar)
posicionMaxima= 0-(numeroIma*anchoIma)+anchoIma; // cantidad maxima de pixeles
idListaIma= "listaImas"; //id de la lista ul que tiene las imagenes o los cuadros en sus li
cantidadPixelesMovimiento= 100; // cantidad de pixeles que se mueven por ves en itineracion las imagenes o cuadros en los li
cantidadPixelesRetroceso= 500; // cantidad de pixeles que se mueven por ves en itineracion las imagenes o cuadros en los li
pausaEnItems = 5; //cantidad de segundos que debe detenerse en cada cuadro o item;
pausaEnItemsFinal =  pausaEnItems*1000;
milisegundosDeMovimiento = 10; // cantidad de milisegundos para cambio entre Items.
milisegundosDeRetroceso = 1; // cantidad de milisegundos para cambio entre Items en retroceso (se recomienda mas rapido que el anterior).
//configuracion de variables


//funciones principales (no tocar)
function mover (idLista, px) {
var listaIma;
listaIma=document.getElementById(idLista);
listaIma.style.left = px+"px";
}
function movimiento(){
var nuevaPosicion;
var posicionEntero;
posicionEntero= posicionActual/anchoIma; // averigua si esta justo donde empieza una imagen
	
	if( is_int (posicionEntero) == true ) {
		window.clearInterval(intervaloTiempo);
		nuevaPosicion = posicionActual-cantidadPixelesMovimiento; // se fija la nueva posicion
		posicionActual=nuevaPosicion; // una vez realizado se fija la posicion actual del objeto;
		setTimeout("activarSlider()",pausaEnItemsFinal); //se hace la pausa y se vuelve a el intervalo.
	} else if (posicionActual > posicionMaxima) { //mayor porque es numero negativo
			nuevaPosicion = posicionActual-cantidadPixelesMovimiento; // se fija la nueva posicion
			mover(idListaIma, nuevaPosicion); // se mueve el slider
			posicionActual=nuevaPosicion; // una vez realizado se fija la posicion actual del objeto;
	} else { 
			window.clearInterval(intervaloTiempo);
			intervaloRetroceso=window.setInterval("retroceso()",milisegundosDeRetroceso);
	}
}
function retroceso () {
var nuevaPosicion;
		if ( posicionActual < 0 ) {
			nuevaPosicion = posicionActual+cantidadPixelesRetroceso; // comienza el regreso
			mover(idListaIma, nuevaPosicion); // se mueve el slider para atras
			posicionActual=nuevaPosicion; // una vez realizado se fija la posicion actual del objeto;
		} else {
			window.clearInterval(intervaloRetroceso);
			intervaloTiempo=window.setInterval("movimiento()",milisegundosDeMovimiento);
		}
} 
function activarSlider(){
intervaloTiempo=window.setInterval("movimiento()",milisegundosDeMovimiento);
}
//funciones principales (no tocar)

Archivo CSS (no modificar lo que se comenta con NO TOCAR)
Código:
/* CSS Document */
.slider{
	width:1000px; /* width en px de la imagenes  */
	height:300px; /* height en px de la imagenes  */
	overflow:hidden; /* no tocar */
	position:relative; /* no tocar */
	padding:0px; /* no tocar */
	margin-top: 0px;
	margin-right: auto;
	margin-bottom: 0px;
	margin-left: auto;
}
ul {
	margin:0; /* no tocar */
	padding:0; /* no tocar */
	list-style:none; /* no tocar */
	position: relative; /* no tocar */
	height: 300px; /* height de las imagenes */
	width: 3000px; /* multiplicacion del width en px de la imagenes por la cantidad de imagenes*/
	left: 0px; /* ubicacion de inicio */
	background-color: #FFFF00;
}
li {
	width:1000px; /* width en px de la imagenes */
	height:300px; /* height en px de la imagenes  */
	float:left; /* no tocar */
}
Y finalmente el archivo HTML:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>SLIDER</title>
<script type="text/javascript" src="slider.js"></script>
<link href="slider.css" rel="stylesheet" type="text/css" />
</head>
<body onload="javascript:activarSlider();">

<div class="slider">

<ul id="listaImas">
<li><img class="imagen" src="../imagenes/principal.png" /></li> 
<li><img class="imagen" src="../imagenes/principal.png" /></li>
<li><p>Hola Mundo</p></li>
</ul> 

</div>

</body>
</html>
Nota: Dentro de los <li> va el contenido que quieren que se vaya modificando y listo, acuérdense que si agregan items deben ir corrigiendo el css y el js donde los comentarios le indican. Principalmente el width y el height de los elementos.

Yo lo probé en Chrome, IE 9 y IE7 y en Firefox, funciona correctamente, cualquier cosa me lo hacen saber.

Espero les sirva mi primer aporte al foro.

Cualquier Duda me hacen saber.
  #2 (permalink)  
Antiguo 18/07/2011, 11:18
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 5 meses
Puntos: 310
Respuesta: Slider de Fotos y Contenido HTML con JAVASCRIPT CSS (sin jquery u otra lib

¿Tienes algún link con una demo? Siempre es más fácil que leer montones de código
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 18/07/2011, 11:23
 
Fecha de Ingreso: septiembre-2010
Ubicación: Corrientes - Argentina
Mensajes: 37
Antigüedad: 14 años, 2 meses
Puntos: 2
De acuerdo Respuesta: Slider de Fotos y Contenido HTML con JAVASCRIPT CSS (sin jquery u otra lib

Aquí tienes el vinculo para verlo:
[URL="http://www.dinamicus.com.ar/forosdelweb/slider/"]http://www.dinamicus.com.ar/forosdelweb/slider/[/URL]
Igual lo agrego al tema si puedo hacerlo (soy nuevo aca).

Última edición por juanmanuel19686; 18/07/2011 a las 11:44

Etiquetas: css2, fotos, imagenenes, javascript, slider
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 08:53.