¿Cómo haría una versión ‘expandida’ de una página web usando HTML, CSS y jQuery?

Primero verifique la demostración: http://codepen.io/pankajpatel/pr…

Explicación:

Alternar la barra lateral izquierda se explica claramente por Austin Grandt en su respuesta.

El iframe es sencillo. Siga cambiando el src del iframe para cambiar la vista. Puede obtener la url de los atributos de datos como hice en el anterior con ` this.dataset.url cuando se menciona en html como data-url ; o desde el atributo href de enlaces.

En la vista previa anterior, no verá la página completa ya que la altura del contenedor es inicialmente predeterminada mínima y luego la página contenida no puede cambiarla. Para solucionar este problema, dirígete a Cambiar el tamaño de los iframes sin problemas: Time to Hack

No debería servir la solución preparada, pero el único truco aquí es lo que he mencionado anteriormente en negrita . El resto es CSS. Usé Bootstrap para crear rápidamente este prototipo.

Para ver el código de la demostración anterior: CodePen Project Editor


Si le gustó mi respuesta, le agradecería que la votara al presionar el botón azul claro a continuación y pueda seguirme si desea leer más como estos. O puedes visitar mi blog Time to Hack.

Para obtener efectivamente el efecto que desea, necesitará comprender fundamentalmente cómo funcionan juntos JavaScript / jQuery, HTML y CSS. Específicamente, probablemente debería pensar en su página como una serie de secciones que necesitará estructurar con HTML, diseñar y animar con CSS, y luego mostrar / ocultar / animar con jQuery. Tener una base sólida en CSS y JavaScript vainilla es probablemente el lugar para comenzar, así que si eres nuevo en cualquiera de ellos, comenzaría a hacer algunos tutoriales allí.

Para su pregunta específica, dividiría la página en 4 partes:

  • Encabezamiento
  • Menú de navegación izquierdo
  • Menú expandido
  • Área de contenido

Como mencioné antes, necesitará estructurar estos elementos y diseñarlos individualmente para obtener el efecto que desea. A continuación hay un par de formas en que agregaría oyentes y clases de jQuery para ayudarlo a encaminarse correctamente.

// Escuche el clic en el elemento de la pestaña izquierda para expandir la navegación a // pantalla completa. En un segundo clic del mismo botón, debería cerrar

$ (‘# BUTTON-ID’). On (‘click’, function () {
$ (‘. nav. pantalla completa) .toggle (‘ lento ‘, función () {
// comprueba si se muestra la navegación a pantalla completa
if (display === true) {
// si se muestra, deslice el navegador izquierdo hacia la parte superior agregando una clase a
// estilo
$ (‘. left-nav’). addClass (‘nav-move-to-top’);
} más {
$ (‘. left-nav’). removeClass (‘nav-move-to-top’);
}
});
}

Podría suavizar las cosas con animaciones, pero eso se está volviendo un poco más avanzado. Tampoco he probado esto, pero espero que te lleve por el camino correcto sobre cómo abordar el problema.

Para leer más, consulte los documentos de jQuery: jQuery API Documentation

Estoy de acuerdo con la publicación de Al Klein y todo lo que habla en ella. Después / mientras estás aprendiendo y refinando tus habilidades de programación, echaré un vistazo a las bibliotecas y los marcos. Ayudan a llevar sus páginas al siguiente nivel en términos de diseño y capacidad de respuesta. En el futuro, puede desviarse de estos, ya que le gustaría ser más personalizado, pero hasta entonces los usaría como excelentes ruedas de entrenamiento para su viaje de desarrollo web.

Algunos de mis favoritos son Bootstrap y Materialise.

Hay muchos tutoriales de YouTube que muestran cómo usar e implementar estos marcos. Además, lea la documentación en sus sitios web para obtener ayuda muy detallada.

Muchas de estas bibliotecas ya tienen lo que desea construir, solo necesita aprender cómo implementarlo.

Primero, deshazte del iFrame: es 2017.

Segundo, aprende programación.

Tercero, aprende JavaScript. (Conocer jQuery sin saber JavaScript es como conocer el alfabeto latino pero no conocer ningún idioma).

Cuarto: reescribe la página.

(Este no es un proyecto de 1 fin de semana, solo aprender programación [resolución de problemas] podría llevarle 6 meses de estudio a tiempo completo).

More Interesting

Tengo un presupuesto de $ 12,000 y una buena idea de aplicación. ¿Puedo obtener una aplicación hecha con el mismo nivel de pulido y calidad que tienen las aplicaciones de Facebook y Twitter si subcontrato a la India?

Estoy probando una aplicación de chat basada en JSP y Java Servlet y he enumerado a todos los usuarios en línea e hice una ventana de chat, pero tuve problemas para obtener una respuesta de un usuario a otro. ¿Cuál es la solución?

¿Necesito aprender MySQL si no estoy interesado en el desarrollo web, mis áreas de interés están en el desarrollo de aplicaciones, entonces, ¿debería aprender MySQL?

Quiero dominar el desarrollo web front-end. ¿Debo ir a cursos en línea o comprar un libro y practicar por mi cuenta?

He pasado la última década trabajando en el software de otras compañías, pero tengo algo que quiero construir para mí. ¿Debo construir primero el front-end o la capa de API / datos primero?

No tengo un formulario de registro en mi WordPress, pero la gente aún puede registrarse. ¿Cómo es eso así?

Mi restaurante está fallando y mi dependencia en la agregación de sitios web es muy alta. ¿Hay alguna solución para esto, porque quiero crear mis propios clientes leales?

Si quiero hacer la misma aplicación web usando ReactJS y AngularJS, ¿cuál será más rápido?

¿Cuál es una mejor opción para mi startup, PHP o Python? ¿Recomendaría usar un marco para PHP? Usando PHP o Python con Django, ¿habrá una diferencia significativa en el tiempo de desarrollo?

Estoy frustrado. Hace días que no trabajo. ¿Por qué es difícil configurar MySQL, Apache y PHP en una Mac Yosemite?

¿Hay alguna razón para desarrollar un nuevo proyecto en ES5 y no en ES6 / ES7 + Babel / Traceur?

Aprendí HTML, CSS y JavaScript. ¿Cómo puedo ganar dinero en casa usando estas habilidades?

Tengo miedo a las matemáticas, así que creo que no puedo escribir algoritmos, y es difícil resolver problemas de manera competitiva. ¿Podré hacer mi trabajo si elijo ser desarrollador front-end o desarrollador Rails o desarrollador web?

Quiero ser un desarrollador de backend. ¿Es bueno NodeJS con Typecript para comenzar?

¿Qué debo cambiar para mejorar mi sitio web al convertir nuevos clientes (https://maidonthespot.com)?