@@ -2,9 +2,11 @@ const menuEmail = document.querySelector('.navbar-email');
22const desktopMenu = document . querySelector ( '.desktop-menu' ) ;
33const menuHamburger = document . querySelector ( '.menu' ) ;
44const mobilmenu = document . querySelector ( '.mobile-menu' ) ;
5+ const product_detail_close = document . querySelector ( '.product-detail-close' ) ;
56const carrito_compras = document . querySelector ( '.navbar-shopping-cart' ) ; //esta es la clase general pero llama a la clase "aside"
67const shoppinCartContainer = document . querySelector ( '#shoppinCartContainer' ) ;
78const CardsContainer = document . querySelector ( '.cards-container' ) ;
9+ const product_detailContainer = document . querySelector ( '#product-detail' ) ;
810
911
1012
@@ -35,6 +37,7 @@ function toggleDesktopMenu() {
3537}
3638
3739function togglemobilmenu ( ) {
40+ product_detailContainer . classList . add ( 'inactive' ) ;
3841 const isasideclosed = shoppinCartContainer . classList . contains ( 'inactive' ) ;
3942 if ( ! isasideclosed ) {
4043 shoppinCartContainer . classList . add ( 'inactive' ) ;
@@ -53,6 +56,17 @@ function toggle_carrito_compras() {//el carrito de compras es manejado por la va
5356
5457 }
5558
59+ if ( ! ismobileMenuclosed ) {
60+ mobilmenu . classList . add ( 'inactive' ) ;
61+
62+ }
63+ /////////cierra el product datail si esta abierto
64+ const isproduct_detailContainerClosed = product_detailContainer . classList . contains ( 'inactive' ) ;
65+ if ( ! isproduct_detailContainerClosed ) {
66+ product_detailContainer . classList . add ( 'inactive' ) ;
67+
68+ }
69+
5670 if ( ! ismobileMenuclosed ) {
5771 mobilmenu . classList . add ( 'inactive' ) ;
5872
@@ -62,40 +76,56 @@ function toggle_carrito_compras() {//el carrito de compras es manejado por la va
6276 }
6377
6478
79+
80+ function openProductDeatailAside ( ) {
81+ shoppinCartContainer . classList . add ( 'inactive' ) ; //para este caso de estas 2 funciones se puede hacer el cierre de esta forma por que no es un toggle
82+
83+ product_detailContainer . classList . remove ( 'inactive' ) ; //utilizamos remove para quitarle la clase inactive al elemento
84+ }
85+ function closeProductDeatailAside ( ) {
86+ product_detailContainer . classList . add ( 'inactive' ) ;
87+ }
88+
6589const productlist = [ ] ;
6690productlist . push ( {
91+ id :1 ,
6792 name :'bike' ,
6893 price :120 ,
6994 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
7095
7196} ) ;
7297productlist . push ( {
98+ id :2 ,
7399 name :'pantalla' ,
74100 price :320 ,
75101 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
76102
77103} ) ;
78104
79105productlist . push ( {
106+ id :3 ,
80107 name :'telefonos' ,
81108 price :150 ,
82109 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
83110
84111} ) ;
85112productlist . push ( {
113+ id :4 ,
86114 name :'bike' ,
87115 price :120 ,
88116 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
89117
90118} ) ;
91119productlist . push ( {
120+ id :5 ,
92121 name :'pantalla' ,
93122 price :320 ,
94123 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
95124
96125} ) ;
97126
98127productlist . push ( {
128+ id :6 ,
99129 name :'telefonos' ,
100130 price :150 ,
101131 image :'https://images.pexels.com/photos/276517/pexels-photo-276517.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940'
@@ -123,6 +153,9 @@ productlist.push({
123153 productCard . classList . add ( 'product-card' ) ;
124154 const productimg = document . createElement ( 'img' ) ;
125155 productimg . setAttribute ( 'src' , product . image ) ;
156+ productimg . addEventListener ( 'click' , openProductDeatailAside ) ;
157+ product_detail_close . addEventListener ( 'click' , closeProductDeatailAside ) ;
158+
126159 const productInf = document . createElement ( 'div' ) ;
127160 productInf . classList . add ( 'product-info' ) ;
128161 const productInfDiv = document . createElement ( 'div' ) ;
0 commit comments