-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_index.html
172 lines (152 loc) · 5.72 KB
/
_index.html
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
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.1/css/swiper.css">
<title>Swiper slide css width calculator</title>
<style>
.swiper-slide {
text-align: center;
font-size: 18px;
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
-webkit-align-items: center;
align-items: center;
height: 150px;
background-color: #f2f2f2;
}
@media (min-width: 1500px) {
.container {
max-width: 1470px;
}
}
</style>
</head>
<body>
<div class="container">
<br>
<div class="jumbotron">
<div class="row">
<div class="col">
<h1 class="display-4">Swiper slide css width calculator</h1>
<p class="lead">Serveix per calcular el css que cal ficar en la media query apropiada, per tal de que abans de inicialitzar el swiper no es carregui trencat!</p>
<p class="lead"><code>width: calc( ( 100/nSlides )% - ( spaceBetween - (spaceBetween/nSlides) ) )</code></p>
<hr class="my-4">
<div class="row">
<div class="col">
<label for="nSlides">Number of slides</label>
<input id="nSlides" type="text" class="form-control" placeholder="4" required="">
</div>
<div class="col">
<label for="spaceBetween">Space between slides</label>
<input id="spaceBetween" type="text" class="form-control" placeholder="15" required="">
</div>
</div>
<div class="row">
<div class="col">
<label> </label>
<button class="btn btn-primary btn-block" id="addCss">Add/remove css</button>
</div>
<div class="col">
<label> </label>
<button class="btn btn-success btn-block" id="initSwiper">Init Swiper</button>
</div>
<div class="col">
<label> </label>
<button class="btn btn-danger btn-block" id="destroySwiper">Destroy Swiper</button>
</div>
</div>
<br>
<code id="result-1"></code><br>
<code id="result-2"></code>
</div>
<div class="col">
<img style="margin-left: auto; display:block" src="swiper-css-chart.jpg" alt="">
<br>
<br>
</div>
</div>
</div>
<h2 class="h3">Calculation live: <small>State: </small><span id="state-css" class="badge badge-pill badge-primary">No css</span> <span id="state-swiper" class="badge badge-pill badge-primary">Swiper no init</span></h2>
<br>
<!-- Slider main container -->
<div>
<div class="swiper-container">
<!-- Additional required wrapper -->
<div class="swiper-wrapper">
<!-- Slides -->
<div class="swiper-slide">ProductList 1</div>
<div class="swiper-slide">ProductList 2</div>
<div class="swiper-slide">ProductList 3</div>
<div class="swiper-slide">ProductList 4</div>
<div class="swiper-slide">ProductList 5</div>
<div class="swiper-slide">ProductList 6</div>
</div>
<!-- If we need navigation buttons -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
</div>
</div>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Swiper/4.4.1/js/swiper.js"></script>
<script>
$(function() {
$('#initSwiper').click(function(event) {
var nSlides = parseInt($('#nSlides').val());
var spaceBetween = parseInt($('#spaceBetween').val());
if (!isNaN(nSlides) && !isNaN(spaceBetween)) {
var swiper = new Swiper('.swiper-container', {
slidesPerView: nSlides,
spaceBetween: spaceBetween,
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
}
});
$('#state-swiper').text('Swiper init');
}
});
$('#destroySwiper').click(function(event) {
try {
$('.swiper-container')[0].swiper.destroy();
$('#state-swiper').text('Swiper no init');
} catch (e) {
}
});
$('#addCss').click(function(event) {
var nSlides = parseInt($('#nSlides').val());
var spaceBetween = parseInt($('#spaceBetween').val());
var minusVal = (spaceBetween - (spaceBetween/nSlides));
if ($('#cssBase').length) {
$('#cssBase').remove();
$('#state-css').text('Removed css');
} else {
if (!isNaN(nSlides) && !isNaN(spaceBetween)) {
$('body').append('<style id="cssBase">.swiper-slide{width: calc(' + (100/nSlides) + '% - ' + minusVal + 'px); margin-right:' + spaceBetween + 'px; }</style>');
$('#result-1').text('width: calc(' + (100/nSlides) + '% - ' + minusVal + 'px);');
$('#result-2').text('margin-right: ' + spaceBetween + 'px;');
$('#state-css').text('Added css');
}
}
});
});
</script>
</body>
</html>