Autor Tema: [Aporte] Fondo en movimiento con Jquery  (Leído 1627 veces)

Desconectado Fermin

  • PHPero Experto
  • *****
  • Mensajes: 783
  • Karma: 7
  • Sexo: Masculino
  • Nada que decirte.
    • Ver Perfil
[Aporte] Fondo en movimiento con Jquery
« en: 11 de Septiembre de 2011, 05:37:13 am »
Hola, hoy les traigo este aporte para los que quieran que su fondo, en cierto div, se ponga en movimiento:

1.- Código js
Código: [Seleccionar]
/**
 * @author Alexander Farkas
 * v. 1.22
 */
 
 
(function($) {
if(!document.defaultView || !document.defaultView.getComputedStyle){ // IE6-IE8
var oldCurCSS = $.curCSS;
$.curCSS = function(elem, name, force){
if(name === 'background-position'){
name = 'backgroundPosition';
}
if(name !== 'backgroundPosition' || !elem.currentStyle || elem.currentStyle[ name ]){
return oldCurCSS.apply(this, arguments);
}
var style = elem.style;
if ( !force && style && style[ name ] ){
return style[ name ];
}
return oldCurCSS(elem, 'backgroundPositionX', force) +' '+ oldCurCSS(elem, 'backgroundPositionY', force);
};
}

var oldAnim = $.fn.animate;
$.fn.animate = function(prop){
if('background-position' in prop){
prop.backgroundPosition = prop['background-position'];
delete prop['background-position'];
}
if('backgroundPosition' in prop){
prop.backgroundPosition = '('+ prop.backgroundPosition;
}
return oldAnim.apply(this, arguments);
};

function toArray(strg){
strg = strg.replace(/left|top/g,'0px');
strg = strg.replace(/right|bottom/g,'100%');
strg = strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");
var res = strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);
return [parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];
}

$.fx.step. backgroundPosition = function(fx) {
if (!fx.bgPosReady) {
var start = $.curCSS(fx.elem,'backgroundPosition');
if(!start){//FF2 no inline-style fallback
start = '0px 0px';
}

start = toArray(start);
fx.start = [start[0],start[2]];
var end = toArray(fx.end);
fx.end = [end[0],end[2]];

fx.unit = [end[1],end[3]];
fx.bgPosReady = true;
}
//return;
var nowPosX = [];
nowPosX[0] = ((fx.end[0] - fx.start[0]) * fx.pos) + fx.start[0] + fx.unit[0];
nowPosX[1] = ((fx.end[1] - fx.start[1]) * fx.pos) + fx.start[1] + fx.unit[1];           
fx.elem.style.backgroundPosition = nowPosX[0]+' '+nowPosX[1];
 
};
})(jQuery);

3.- Script
Código: [Seleccionar]
<script src="ARCHIVO.js" type="text/javascript">
function moverf(){
$('#AQUI DIV DEL FONDO').animate({backgroundPosition: '0px -100px'},10000,function(){
 $('#AQUI DIV DEL FONDO').animate({backgroundPosition: '0px 0px'},10000,moverf);
});
}
$(moverf);
</script>
En donde dice AQUI DIV DEL FONDO pones el id del div.
En donde dice ARCHIVO.js Ahi colocas el nombre que le has dado al archivo del js

Ejemplo

Bueno, quedaría algo asi:

En nuestro css tendriamos
 
Código: [Seleccionar]
.content {
         width:500px;
height:250px;
        background-image:url(images/bg.png);
}
Y la parte del div quedaria asi:
Código: [Seleccionar]
<div id="fondomovimiento" class="content"></div>Eso sería todo, Cualquier duda pregunten aqui ^^
aclaro que este código no es mio, simplemente lo recopile
« Última modificación: 11 de Septiembre de 2011, 05:38:54 am por Fermin »

Comunidad PHPeros

[Aporte] Fondo en movimiento con Jquery
« en: 11 de Septiembre de 2011, 05:37:13 am »

Desconectado Mixvice

  • PHPero Experto
  • *****
  • Mensajes: 687
  • Karma: 32
  • Sexo: Masculino
  • ¡Y Tu Papá Tambien!
    • Ver Perfil
    • Tuhabbo
Re:[Aporte] Fondo en movimiento con Jquery
« Respuesta #1 en: 11 de Septiembre de 2011, 09:04:38 am »
Alguna vista previa, y la fuente de donde lo sacaste? Te falto eso xd

Desconectado Fermin

  • PHPero Experto
  • *****
  • Mensajes: 783
  • Karma: 7
  • Sexo: Masculino
  • Nada que decirte.
    • Ver Perfil
Re:[Aporte] Fondo en movimiento con Jquery
« Respuesta #2 en: 11 de Septiembre de 2011, 17:27:24 pm »
La fuente de google y otras webs, www.fermin-gallery.com para que vean como se mueve. Saludos

Desconectado Pl4gadito

  • PHPerit@
  • *
  • Mensajes: 20
  • Karma: 0
  • Nuev@ PHPer@
    • Ver Perfil
Re:[Aporte] Fondo en movimiento con Jquery
« Respuesta #3 en: 14 de Septiembre de 2011, 00:35:28 am »
Esta bueno! Me servira pero una cosa, si no me equivoco es igual al de SoyJoaquin :S http://www.servidor1.habbolandia.es/ xdd

Desconectado SoyJoaquin.

  • PHPero Master
  • ******
  • Mensajes: 2.737
  • Karma: 131
  • Sexo: Masculino
  • ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ส้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ Problem?
    • Ver Perfil
    • IsoMap
Re:[Aporte] Fondo en movimiento con Jquery
« Respuesta #4 en: 14 de Septiembre de 2011, 00:41:45 am »
Creo que deberias de poner mis copyright, ese script lo cree para una web en donde me contrararon llamada HabboLandia.
Mas información: www.servidor1.habbolandia.es

Por si las moscas:
function moverf(){
$('#fondojoa').animate({backgroundPosition: '0px -400px'},10000,function(){
 $('#fondojoa').animate({backgroundPosition: '0px 0px'},10000,moverf);
});
}
$(moverf);

El joa es de joaquin xD
Saludos.
Twitter: @JoakoM010



Desconectado Fermin

  • PHPero Experto
  • *****
  • Mensajes: 783
  • Karma: 7
  • Sexo: Masculino
  • Nada que decirte.
    • Ver Perfil
Re:[Aporte] Fondo en movimiento con Jquery
« Respuesta #5 en: 14 de Septiembre de 2011, 01:43:24 am »
Creo que deberias de poner mis copyright, ese script lo cree para una web en donde me contrararon llamada HabboLandia.
Mas información: www.servidor1.habbolandia.es

Por si las moscas:
function moverf(){
$('#fondojoa').animate({backgroundPosition: '0px -400px'},10000,function(){
 $('#fondojoa').animate({backgroundPosition: '0px 0px'},10000,moverf);
});
}
$(moverf);

El joa es de joaquin xD
Saludos.

xDD si! buscando los codigos lo encontré, eres un crack man..