-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.js
247 lines (191 loc) · 8.01 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
function Box(title, sub_title, description, image1, image2, image3, color) {
this.title = title;
this.sub_title = sub_title;
this.description = description;
this.image1 = image1;
this.image2 = image2;
this.image3 = image3;
this.color = color;
contador += 1;
$(".contenedor").append("<div class='diapositiva' style='background-color:" + this.color + "'><div class='container'><div class='row'> <div class='col-xs-12 col-md-4 titulo'><h1> " + this.title + "</h1></div> <div class='col-xs-12 col-md-8 descripcion'><h2>" + this.sub_title + "</h2> </div></div> <div class='row'><div class='col-xs-12'><div><h3>" + this.description + "</h3></div></div></div><div class='row'><div class='cont_imgs'><div class='col-xs-12 col-sm-4 imagen1'><img class='img-responsive ' src='"+ this.image1+"'></img></div><div class='hidden-xs col-sm-4 imagen2'><img class='img-responsive'src='" + this.image2 + "'></img></div><div class='hidden-xs col-sm-4 imagen3'><img class='img-responsive'src='" + this.image3 + "'></img></div></div></div></div></div>");
}
$(document).ready(function() {
contador = 0;
width = 0;
cuenta = 0;
valencia2 = new Box("Valencia", "España", "Valencia famosa por su fiesta las Fallas", "http://sergiorozalen.tk/bowee/img/valencia1.jpg", "http://sergiorozalen.tk/bowee/img/valencia.jpeg", "http://sergiorozalen.tk/bowee/img/valencia3.jpg", "#9b59b6");
newyork = new Box("NewYork", "Estados Unidos", "NY la ciudad de los artistas", "http://sergiorozalen.tk/bowee/img/newyork.jpg", "http://sergiorozalen.tk/bowee/img/newyork2.jpg", "http://sergiorozalen.tk/bowee/img/newyork3.jpeg", "#3498db");
amsterdam = new Box("Amsterdam", "Holanda", "Amsterdam es famosa por sus Coffe Shops", "http://sergiorozalen.tk/bowee/img/amsterdam1.jpeg", "http://sergiorozalen.tk/bowee/img/amsterdam2.jpeg", "http://sergiorozalen.tk/bowee/img/amsterdam3.jpg", "#f39c12");
berlin = new Box("Berlin", "Alemanía", "Berlín famosa por haber estado dividida hasta la caida del muro", "http://sergiorozalen.tk/bowee/img/berlin.jpeg", "http://sergiorozalen.tk/bowee/img/berlin2.jpeg", "http://sergiorozalen.tk/bowee/img/berlin3.jpeg", "#27ae60");
londres = new Box("Londres", "Reino Unido", "Capital Financiera de Europa", "http://sergiorozalen.tk/bowee/img/london.jpg", "http://sergiorozalen.tk/bowee/img/london2.jpeg", "http://sergiorozalen.tk/bowee/img/londres.jpg", "#e74c3c");
width_cont = 100 * contador;
$(".contenedor").css({
"width": width_cont + "%"
});
width_diapo = 100 / contador;
$(".diapositiva").css({
"width": width_diapo + "%"
});
/* Script para el Formulario con Ajax*/
function validarForm() {
// Campos de texto
if ($("#titulo").val() == "") {
$("#titulo").focus().addClass("alert alert-danger");
return false;
}
if ($("#subtitulo").val() == "") {
$("#subtitulo").addClass("alert alert-danger");
$("#subtitulo").focus();
return false;
}
if ($("#descripcion").val() == "") {
$("#descripcion").addClass("alert alert-danger");
$("#descripcion").focus();
return false;
}
return true;
}
$('.boton_add').on("click", function() {
if (validarForm()) {
cuenta=$(".diapositiva").length;
nuevo = new Box($("#titulo").val(), $("#subtitulo").val(), $("#descripcion").val(), $("#input_imagen1").val(), $("#input_imagen2").val(), $("#input_imagen3").val(), $("#color_picker").val());
width_cont = 100 * contador;
$(".contenedor").css({
"width": width_cont + "%"
});
width_diapo = 100 / contador;
$(".diapositiva").css({
"width": width_diapo + "%"
});
width=-width_cont+100;
$(".contenedor").animate({
"margin-left": width+"%"
});
console.log(cuenta, width_cont);
};
});
/* Cambios al validar*/
$("#titulo").on("change", function() {
$("#titulo").removeClass("alert alert-danger");
$("#titulo").addClass("alert alert-success");
});
$("#subtitulo").on("change", function() {
$("#subtitulo").removeClass("alert alert-danger");
$("#subtitulo").addClass("alert alert-success");
});
$("#descripcion").on("change", function() {
$("#descripcion").removeClass("alert alert-danger");
$("#descripcion").addClass("alert alert-success");
});
/* Script para el Formulario con Ajax*/
/* Las siguientes funciones haran que bowee_slide sea compatible con pantallas tactiles
y no sea necesario el uso de las flechas para navegar por nuestro slide*/
var myElement = document.getElementById('body');
// create a simple instance
// by default, it only adds horizontal recognizers
var body = new Hammer(myElement);
// let the pan gesture support all directions.
// this will block the vertical scrolling on a touch-device while on the element
body.get('swipe').set({
direction: Hammer.DIRECTION_ALL,
});
// listen to events...
/* Al arrastrar hacia la izquierda*/
body.on("swipeleft", function() {
console.log(cuenta, width);
if (cuenta == $(".diapositiva").length - 1) {
/* Estamos en la ultima diapositiva */
} else {
width -= 100;
cuenta++;
$(".contenedor").animate({
"margin-left": width + "%"
});
}
});
/* Al arrastrar hacia la derecha*/
body.on("swiperight", function() {
console.log(cuenta);
if (cuenta == $(".diapositiva").length - (contador)) {
/* Estamos en la primera diapositiva */
} else {
cuenta--;
width = width + 100;
$(".contenedor").animate({
"margin-left": width + "%"
});
}
});
/* Al arrastrar hacia arriba escondemos el formulario*/
body.on("swipeup", function() {
$(".form").fadeOut();
console.log("arriba");
});
/*Al arrastrar hacia bajo mostramos el formulario*/
body.on("swipedown", function() {
$(".form").fadeIn();
console.log("abajo");
});
/* Las anteriores funciones haran que bowee_slide sea compatible con pantallas tactiles
y no sea necesario el uso de las flechas para navegar por nuestro slide*/
/* La siguiente funcion haran que bowee_slide sea navegable con las flechas*/
$("body", "html").on("keyup", function(event) {
switch (event.keyCode) {
/*38 arriba y 40 abajo*/
/* codigo ASCII 39 significa que hemos pulsado la flecha derecha*/
case 39:
console.log(cuenta);
if (cuenta == $(".diapositiva").length - 1) {
/* Estamos en la ultima diapositiva */
} else {
width -= 100;
cuenta++;
$(".contenedor").animate({
"margin-left": width + "%"
});
}
break;
case 37:
/* codigo ASCII 37 significa que hemos pulsado la flecha izquierda*/
console.log(cuenta);
if (cuenta == $(".diapositiva").length - (contador)) {
/* Estamos en la primera diapositiva */
} else {
cuenta--;
width = width + 100;
$(".contenedor").animate({
"margin-left": width + "%"
});
}
break;
case 38:
/* codigo ASCII 38 significa que hemos pulsado la flecha arriba*/
$(".form").fadeOut();
console.log("arriba");
break;
case 40:
/* codigo ASCII 40 significa que hemos pulsado la flecha abajo*/
$(".form").fadeIn();
break;
}
});
});
/*############### Inicio ###############*/
/* Muestra o no muestra las imagenes segun el tamaño de la pantalla*/
/* Al hacer resize sobre la pantalla tambien mostrara o no mostrara las imagenes*/
if ($(window).width() < 768) {
$(".imagen2").css("display", "none");
$(".imagen3").css("display", "none");
}
$(window).on("resize", function() {
if ($(window).width() < 768) {
$(".imagen2").css("display", "none");
$(".imagen3").css("display", "none");
} else {
$(".imagen2").css("display", "block ");
$(".imagen3").css("display", "block");
}
/* Muestra o no muestra las imagenes segun el tamaño de la pantalla*/
/* Al hacer resize sobre la pantalla tambien mostrara o no mostrara las imagenes*/
/*############### Fin ###############*/
});