-

+

-
Кондитерские изделия:
-
+
Кондитерские изделия:
+
Мелкоштучные изделия:
@@ -71,7 +71,8 @@ export default {
data() {
return {
items: items,
- query: ''
+ query: '',
+ jumpOffset: "translateY(100px)"
}
},
methods: {
@@ -82,7 +83,14 @@ export default {
let cropped = this.items.filter((v) => category.includes(v.category));
let result = cropped.filter((v) => v.name.toLowerCase().includes(this.query.toLowerCase()));
return result.length;
+ },
+ handleScroll: function() {
+ let offset = Math.max(150-window.scrollY, 0);
+ this.jumpOffset = `translateY(${offset}px)`;
}
+ },
+ mounted() {
+ window.addEventListener('scroll', this.handleScroll);
}
}
@@ -196,7 +204,7 @@ h2::before {
}
.jump-to-top img {
- width: 10vh;
+ width: 7vh;
transform: rotate(180deg);
}
diff --git a/src/views/Home.vue b/src/views/Home.vue
index b41d256..3880b5c 100644
--- a/src/views/Home.vue
+++ b/src/views/Home.vue
@@ -5,14 +5,15 @@
@@ -34,6 +35,7 @@ export default {
data() {
return {
selected: 1,
+ nearest: 10,
settings: {
apiKey: '40a5e665-b4d4-4f22-8443-0482b3e0053d',
lang: 'ru_RU',
@@ -160,7 +162,31 @@ export default {
methods: {
selectMarker: function(n) {
this.selected = n;
+ },
+ selectOnMap: function(n) {
+ this.selected = +n;
+ document.getElementById("element"+n).scrollIntoView();
+ },
+ pythagorean: function(sideA, sideB){
+ return Math.sqrt(Math.pow(sideA, 2) + Math.pow(sideB, 2));
+ },
+ selectNearest: function(pos) {
+ const coords = pos.coords;
+ let selectedDistLat = this.markers[0][0] - coords.latitude;
+ let selectedDistLon = this.markers[0][1] - coords.longitude;
+
+ for (let marker of this.markers) {
+ let distLat = marker[0] - coords.latitude;
+ let distLon = marker[1] - coords.longitude;
+
+ if (this.pythagorean(selectedDistLat, selectedDistLon) > this.pythagorean(distLat, distLon)) {
+ this.nearest = marker;
+ }
+ }
}
+ },
+ mounted() {
+ //navigator.geolocation.getCurrentPosition(this.selectNearest);
}
};