Placeholder content for this accordion, which is intended to demonstrate the .accordion-flush
class. This is the first item's accordion body.
Placeholder content for this accordion, which is intended to demonstrate the .accordion-flush
class. This is the second item's accordion body. Let's imagine this being filled with some actual content.
Placeholder content for this accordion, which is intended to demonstrate the .accordion-flush
class. This is the third item's accordion body. Nothing more exciting happening here in terms of content, but just filling up the space to make it look, at least at first glance, a bit more representative of how this would look in a real-world application.
$(document).ready(function () {
var hotspot_tl = gsap.timeline({ paused: true });
var closeMap = $(".interactive-map #close-map");
var textInfoAll = $(".text-info").not(".area-info-active");
var commonInfo = $("#common-info");
var visibleZoom = $(".visible-on-zoom");
gsap.set(closeMap, { autoAlpha: 0 });
gsap.set(textInfoAll, { autoAlpha: 0 });
gsap.set(commonInfo, { autoAlpha: 1 });
// gsap.set(visibleZoom, { autoAlpha: 0 });
function zoomToCenter(zoomMe) {
var bbox = zoomMe.getBBox(),
svg = document.getElementById('map'),
viewBox = svg.getAttribute('viewBox');
viewBox = viewBox.split(' ');
var cx = parseFloat(viewBox[0]) + (parseFloat(viewBox[2]) / 2.5),
cy = parseFloat(viewBox[1]) + (parseFloat(viewBox[3]) / 2.5),
x = cx - bbox.x - (bbox.width),
y = cy - bbox.y - (bbox.height);
return { x: x, y: y };
}
$(".hotspot").on("click", function () {
var hotspot = $(this);
var hotspotRegion = hotspot.attr("id");
var hotspotZoomRegionId = "#" + hotspotRegion + "-zoom";
var textInfo = "#" + hotspotRegion + "-info";
var zoomEl = document.getElementById(hotspotRegion + "-zoom");
var zoomVanish = $(".vanish-on-zoom").not(hotspotZoomRegionId);
$("#common-info").removeClass("area-info-active");
$(textInfo).addClass("area-info-active");
$("#close-map").addClass(hotspotRegion + "-zoom");
hotspot_tl.to(zoomVanish, { duration: 1, ease: "sine.out", opacity: 0, stagger: 0.05 });
hotspot_tl.to(hotspotZoomRegionId, { duration: 1, ease: "sine.out", scale: 2, fill: "#f00", opacity: 1, position: "absolute", top: "0", left: "0", x: zoomToCenter(zoomEl).x, y: zoomToCenter(zoomEl).y });
// hotspot_tl.to(visibleZoom, { duration: 1, ease: "none", x: zoomToCenter(zoomCir).x, y: zoomToCenter(zoomCir).y }, "-=1");
// hotspot_tl.to(visibleZoom, { duration: 2, ease: "sine.out", autoAlpha: 1, stagger: 0.05 });
// hotspot_tl.to(visibleZoom, { duration: 0.5, ease: "none", scale: 0.5 });
// hotspot_tl.to(visibleZoom, { duration: 2, ease: "sine.out", autoAlpha: 1, stagger: 0.05 });
hotspot_tl.to(commonInfo, { duration: 1, ease: "none", autoAlpha: 0 }, "-=1");
hotspot_tl.to([textInfo, closeMap], { duration: 0.5, ease: "none", autoAlpha: 1 }, "-=1");
hotspot_tl.play();
// console.log(textInfo);
});
$("#close-map").on("click", function () {
var closeClass = $(this).attr("class");
var hotspotZoomRegionId = "#" + closeClass;
var textInfo = "#" + closeClass.replace('zoom', 'info');
var zoomVanish = $(".vanish-on-zoom").not(hotspotZoomRegionId);
$(textInfo).removeClass("area-info-active");
$("#common-info").addClass("area-info-active");
$("#close-map").removeClass(closeClass);
hotspot_tl.to(closeMap, { duration: 1, ease: "none", autoAlpha: 0 });
// hotspot_tl.to(visibleZoom, { duration: 2, ease: "sine.out", autoAlpha: 0, stagger: 0.05 });
// hotspot_tl.to(visibleZoom, { duration: 0, ease: "none", x: "0", y: "0" });
// hotspot_tl.to(visibleZoom, { duration: 2, ease: "sine.out", autoAlpha: 0, stagger: 0.05 });
hotspot_tl.to(hotspotZoomRegionId, { duration: 1, ease: "sine.out", scale: 1, fill: "#7c7c7c", position: "relative", top: "0", left: "0", x: "0", y: "0" });
hotspot_tl.to(zoomVanish, { duration: 1, ease: "sine.out", opacity: 1, stagger: 0.05 });
hotspot_tl.to(textInfo, { duration: 1, ease: "none", autoAlpha: 0 }, "-=1.5");
hotspot_tl.to(commonInfo, { duration: 1, ease: "none", autoAlpha: 1 }, "-=2");
// console.log(hotspotZoomRegionId);
});
});