PDA

View Full Version : About page http://www.jackslocum.com/yui/index.php


franklt69
09-29-2006, 08:28 AM
Hi I would like to do a site with the layout like this page http://www.jackslocum.com/yui/index.php, a mean I would like to use the left navigator toolbar, how I can do it?

kind regards
Frank

jack.slocum
09-29-2006, 11:59 PM
The navigation bar source is available here: navbar.zip (http://www.jackslocum.com/blog/javascript/navbar.zip). Other than that you are welcome to look at the source for my site and use it as your starting point. While implementing it, if you have specific questions, I will try to answer them.

Jack

genius551v
09-30-2006, 10:50 AM
Hola de nuevo Jack,

Me parece super bonita ( pretty ) your Nav, tambien me gustaria usarla pero estoy haciendo una prueba y me encontre con esto:

Example:

*This is your header

<DIV class="blog-header" id="blog-header">
<TABLE cellSpacing="0" cellPadding="0" border="0">
<TBODY>
<TR>
<TD>
...IMAGEN...</A>
</TD>
<TD align="right">
<SPAN class="blog-desc">etc - etc</SPAN>
</TD>
</TR>
</TBODY>
</TABLE>
</DIV>


*This is your NAV (is great man!)

<DIV id="navbar">
web/images/Jack/mm-expand.gif (http://www.jackslocum.com/yui/index.php#)
web/images/Jack/nav.gif (http://www.web/images/Jackslocum.com/yui/index.php#)
</DIV>

<DIV id="sidebar">
<DIV id="sidebar-inner">
<DIV class="sidebar-block">
<H2 class="sidebar-title"><SPAN style="FLOAT: left">Links</SPAN>web/images/Jack/mm-collapse.gif (http://www.web/images/Jackslocum.com/yui/index.php#)</H2>
<UL>
<LI>web/images/Jack/yahoo.gifYahoo! UI Library (http://developer.yahoo.com/yui/)</LI>
<LI>web/images/Jack/ajaxian.gifAjaxian.com (http://www.ajaxian.com/)</LI>
[/list]
</DIV>
<DIV class="sidebar-block">
<H2 class="sidebar-title">Recent Posts</H2>
<UL id="recently">
*This is my examples pag <LI>Empleado (index.php?action=BIMBIPDMCmdDefaultEmpleado)</LI>
*This is my examples pag <LI>Estado Registro (index.php?action=BIMBIPDMCmdDefaultEstado_registro_jornada)</LI>
*This is my examples pag <LI>Registro Jornada (index.php?action=BIMBIPDMCmdDefaultRegistro_jornada)</LI>
[/list]
</DIV>
<DIV class="sidebar-block">
<H2 class="sidebar-title">Archives</H2>
<UL class="archive-list">
<LI>September 2006 (http://www.web/images/Jackslocum.com/yui/2006/09/)</LI>
<LI>August 2006 (http://www.web/images/Jackslocum.com/yui/2006/08/)</LI>
[/list]
</DIV>
</DIV>
</DIV>

<DIV id="splitter"></DIV>

*This is your "Body" or pag principal

<DIV id="blogBody">


<DIV id="innerBody"> *I put a iframe here....
<IFRAME class="innerFrame" id="site" name="site" src="http://www.google.com.co" frameBorder="0"></IFRAME>
</DIV> *To independize the navigation


</DIV>


Ok, i hope you entiendas this.

My questions:
Si lo notaste yo puse un iframe en el DIV de Body to independize the navigation y poder cargar varias pag distintas sin cargar lo demas de la pag ;-)

BUT...cuando carga una pag sometings el
DIV se ALARGA MUCHO |<--- width (BODY) --->|
y se muestra detras de la Nav Bar.....



....|<---nav bar --->|
|<-----------------------BODY (iframe)----------------->|
|<-------------------width window--------------->|

jack.slocum
09-30-2006, 11:35 AM
Si entiendo. Mira aqui http://www.jackslocum.com/forum2/javascript/forum.js y la manera que hago la "body resize". Es poco diferente and esta a lo mejor es mejor que hacerlo con iframe. Ese pagina no tiene navbar, pero la body es ajustado como el otro.

genius551v
10-02-2006, 09:30 AM
Hey jack, tnks for your aswer, i fix the problem but i have questions yet.

firts,

Thats works...?

createAnimator : function(){
var animator = new YAHOO.ext.Animator();
var cursor = new YAHOO.ext.Actor('cursor-img', animator);
var resize = new YAHOO.ext.Actor('resize-img', animator);
var click = new YAHOO.ext.Actor('click-img', animator);
var splitter = new YAHOO.ext.Actor('splitter', animator);

animator.startCapture();
animator.addAsyncCall(Blog.navbar.undockDelegate, 1);
cursor.show();
cursor.moveTo(500,400);

cursor.moveTo(20, getEl('navbar').getY()+10, true, .75);

click.clearOpacity();
click.show();
click.alignTo(cursor, 'tl', [-4, -4]);
animator.pause(.5);
click.hide(true, .7);

animator.addAsyncCall(Blog.navbar.dockDelegate, 1);

cursor.alignTo('splitter', 'tr', [0, +100], true, 1);
resize.alignTo('splitter', 'tr', [-12, +100]);
animator.beginSync();
cursor.hide();
resize.show();
animator.endSync();

splitter.highlight('#EEEEFF', '#C3DAF9', .3);
splitter.highlight('#EEEEFF', '#C3DAF9', .3);

animator.pause(2);

resize.hide();
cursor.show();
cursor.moveTo(-100, -100, true);

animator.stopCapture();

this.animator = animator;

this is at bloj.js

can you explain me for what is this?

i dont see none efect in the pag (yo no veo ningun efecto en la pag!) :shock:

Tnks to share your knowledge :-)

jack.slocum
10-02-2006, 09:53 AM
Mira aqui (http://www.jackslocum.com/yui/2006/08/24/javascript-animations-with-yahoo-ui-made-easy/), es el ultimo ejemplo. Hay link "Click here to see what it does.".

franklt69
10-02-2006, 04:54 PM
Hola jacksloc, si puedo escribir en español mejor aun, asi puedo expresar mejor la idea de lo q pretendo hacer.

Jacks yo soy nuevo en le mundo de javascript es decir generalmente he programado en Borland Delphi, y Visual Studio, ahi existen bibliotecas (librarys) para hacer menu, calendar ect es decir un poco te aisla de el mundo de javascript, por ejemplo Intraweb ayuda mucho en eso, de manera q uno se concentra en resolver la problematica y no pierde demasiado tiempo en diseño, el problema q he tenido es q las librarys son caras, y q el resultado final no me gusta mucho es decir una vez q pruebas las paginas en conexiones de bajo ancho de banda notas q no se mueven bien q son lentas, investigando un poco encontre los YUI de yahoo y despues las extensiones de ud, cuando vi su web site me encanto la idea del Navigator bar pq hace un buen uso de el Screen, es decir aprovecho bien la pantalla, ademas lo probe en conexion con bajo ancho de banda 33k y la primera vez demora un poco pero despues se sale rapido las paginas, entonces sin casi saber nada de este mundo decidi salvar su pagina y adpatar los js asi como los css a mi proyecto para tomar esa pagina como un templates para todas las demas, de manera q logre q me funcionara como a ud, el punto es q decidi extender la idea de su pagina es decir decidi añadirle por ejemplo el menu q aparence en el ejemplo de yahoo (\yui_0.11.4\yui\examples\menu\topnavfrommarkup.html), cualquier ejemplo q intente añadir a la pagina de ud siempre obtengo un error, ese mismo ejemplo me trabaja en otras paginas pero en la q tiene el navigator bar no logro añadirle nada siempre me da error en

fichero:
yui-ext_32.js

YAHOO.ext.Element.prototype={fireMoved:function(){this.onMoved.fireDirect(this,this.getX(),this.getY());},
fireVisibilityChanged:function(){this.onVisibilityChanged.fireDirect(this,this.isVisible());},fireResized:function(){this.onResized.fireDirect(this,this.getWidth(),this.getHeight());},
setVisibilityMode:function(visMode){this.visibilityMode=visMode;},enableDisplayMode:function(){this.setVisibilityMode(YAHOO.ext.Element.DISPLAY)},
animate:function(args,duration,onComplete,easing,animType){this.anim(args,duration,onComplete,easing,animType);},
anim:function(args,duration,onComplete,easing,animType){animType=animType||YAHOO.util.Anim;var anim=new animType(this.dom,args,duration||.35,
easing||YAHOO.util.Easing.easeBoth);if(onComplete){if(!(onComplete instanceof Array)){anim.onComplete.subscribe(onComplete);}
else{for(var i=0;i<onComplete.length;i++){var fn=onComplete[i];if(fn)anim.onComplete.subscribe(fn);}}}

No puedo decirle si es en el mismo lugar pq intentaba porner los menu en diferentes lugares a ver si me funcionaba, y me daba error

Hay alguna manera de lograr insertar un menu en el top de la pagina sin obtener error?

Le agradeceria muchisimo cualquier referencia q pueda darme para adentrarme un poco en este mundo es decir q IDE usan para desarrollar, q debuguer, url ect

muchas gracias de antemano

kind regards
Frank

franklt69
10-02-2006, 09:23 PM
Hola genius551v, podria de ser tan amable de decirme como resolvio el problema del ancho del body planteando mas arriba (DIV se ALARGA MUCHO |<width>| ) , es interesante la idea de mantener el nav bar asi como el header e insertar una nueva pagina en el centro, pienso q evita tener q enviar la informacion del navbar en cada round trip podria darme detalles de como resolvio eso gracias de antemano.

Frank

genius551v
10-04-2006, 11:08 AM
La verdad fue una solucion q no se si esta bien desde el punto de vista del diseño de jack, solo la implemente para probar q se podia hacer.

fue algo sencillo, lo primero el body quedo asi:


<DIV id="blogBody">
<DIV id="innerBody">
<DIV class=hd id="titulo_modulo">Modulo 1</DIV>
<IFRAME id="site" name="site" src="http://google.com.co"
style="WIDTH: 100%; HEIGHT: 100%; PADDING-TOP:
0px; PADDING-BOTTOM: 20px;
background-color:#FFFFFF;" frameBorder=0>
</IFRAME>
</DIV>
</DIV>


1. el div blogBody
2. el div innerBody
3. un div para poner el titulo del modulo q voy a presentar
4. el IFRAME para presentar otra pag manteniendose sobre la misma estructura

esto da la sensacion de q uno no se ha salido de la aplicacion inicial y puedo presentar distintos contenidos

Cuales eran los principales inconvenientes?

1. lo del WIDTH, mantener la relacion de aspectos de los contenedores una vez quitandoles el contenido inicial q tenia la pag de jack.

2. la barra de split o resize, cuando intento resizar el tamaño de la barra de menu docked, hay problemas con el mouse o con el evento.

3. el color del fondo, cuando carga una pag en el iframe si esta contiene elementos combo o select list entre carga y carga se alcanza a ver el color azul del fondo en el lugar donde van esos elementos, es por solo 1 seg pero se alcanza a notar el cambio.

El CSS lo modifique de la siuiente manera.

#blogBody {
OVERFLOW: hidden; WIDTH: 100%; HEIGHT: 100%; POSITION: absolute; TOP: 45px;
}


#innerBody {
overflow: hidden; WIDTH: 100%; HEIGHT: 100%; background-color:#FFFFFF; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN-LEFT: 42px; PADDING-TOP: 0px; FONT-FAMILY: Verdana, Geneva, Arial, Helvetica, sans-serif; BORDER-RIGHT: #6593cf 1px solid; BORDER-TOP: #6593cf 1px solid; BORDER-LEFT: #6593cf 1px solid; BORDER-BOTTOM: #6593cf 1px solid
}

Basicamente de las cosas mas importantes fue, los overflow y los WIDTH: 100%; HEIGHT: 100% de los dos div y el PADDING-BOTTOM: 20px del iframe ya q sin esto el iframe se me salia del div q lo contenia y como ese a su vez tiene overflow: hidden entonces no me mostraba todo el iframe

con esto logre solucionar el 1 punto de los inconvenientes, sinembargo el 2 y el 3 no he logrado solucionarlo, pero no son muy importantes porque para el 2 a jack ya tambien le ocurre en ( Creating an AJAX feed viewer using Yahoo! UI and the new Grid Component ) si intentas hacer resize de la navbar cuando esta docked, si lo haces cerca del iframe q contiene el AJAX viewer y mueves el mouse rapido hacia ese lado t ocurre el efecto que me ocurre a mi. es como si el evento se perdiera cuando el mouse se mete o se pasa al campo de iframe, entonces el evento de resize se detiene. bueno esto se soluciona si se hace en un area q no limite con el iframe, por ejemplo al lado del div DIV class=hd id="titulo_modulo">Modulo 1</DIV> q puse arriba.

y el 3 si NI IDEA! I DONT HAVE IDEA! ;-)

creo q esto no funciona bien en fire-fox, ahi les dejo el codigo y la iquietud por si quieren mejorar algo.

NOTA 1. Nada de esto seria posible sin la ayuda y las posibilidades que brinda Jack al permitirnos a todos ver y compartir su codigo. Muchas gracias Jack.

NOTA 2. no pretendo hacer nada distinto con esto diferente ha aprender un poco de diseño, css, html, javascript, div todo eso es muy interesante y solo quiero tomar de ejemplo los codigos de jack y utilizarlos para aprender.

Nota 3. la nueva forum2, plantea algo muy muy muyyyy interesante para la carga de contenido en unos containers o algo asi, la verdad me tiene muy entusiasmado verlo pero no he tenido mucho tiempo para analizarlo, ademas esta muy muy complejo para mi nivel y tendria q estudiarlo mucho para entenderlo.

NOTA 4. Por favor Jack ayudanos a entender el forum2 esta buenisimo pero necesitamos claridad para entenderlo.

NOTA 5. voy a intentar subir el ejemplo q trabaje en algun host para q lo vean ( si jack no tiene ningun problema con esto? )

Gracias a todos y a Jack

si tienes alguna duda no dudes en preguntarme.

saludos, bye!

jack.slocum
10-04-2006, 11:45 AM
No debe ser problema con menu y navbar. Si puede poner pagina que puedo ver y debug la problema?

Uso VS 2005+IE a debug y JSEclipse para desarrollar.

Con IFRAME y navbar, peude poner un div "transparent"... no se decir esto en espanol, aqui es ingles:

You could put a transparent absolute positioned div that is the same size as the navbar expanded *before* it slides it and hide it after it slides back in. This will keep it from being bumpy in firefox.

Espero que entiendes eso. No hablo espanol bien pero yo trato. :)

genius551v
10-05-2006, 10:25 AM
Te refieres a poner un DIV transparente SOBRE el IFRAME ? ? ?

en q momento ? ? ?

Seria solo cuando se intenta hacer resize de la NAVBAR Docked ? ? ?

De lo contrario afectaria la navegacion EN el IFRAME ? ? ?

Tnks

;-)

jack.slocum
10-05-2006, 10:56 AM
Para resize de la navbar docked, solamente necesita hacer esto en la "splitter":

split.useShim = true;

Asi es automatico.

genius551v
10-05-2006, 07:21 PM
WORKS GREAT !!!

TNKS

con esto se soluciona el punto 2

la adicion debe hacerse en el archivo -> blog.js <-
en:

var Blog = {
initUI : function(){

var split......

split.useShim = true;

para ser mas exactos!

Gracias de nuevo Jack