{"id":49,"date":"2022-02-09T12:54:43","date_gmt":"2022-02-09T12:54:43","guid":{"rendered":"https:\/\/ft.unj.ac.id\/s1busana\/?page_id=49"},"modified":"2026-06-17T09:04:39","modified_gmt":"2026-06-17T02:04:39","slug":"laboratorium","status":"publish","type":"page","link":"https:\/\/ft.unj.ac.id\/s1busana\/?page_id=49","title":{"rendered":"Laboratorium"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"49\" class=\"elementor elementor-49\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5801cf2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5801cf2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3225000\" data-id=\"3225000\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-473b536 elementor-widget elementor-widget-html\" data-id=\"473b536\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<style>\r\n  * { box-sizing: border-box; margin: 0; padding: 0; }\r\n\r\n  .section-title {\r\n    display: flex;\r\n    align-items: center;\r\n    width: 100%;\r\n      margin: 3.5rem auto;\r\n  }\r\n  .section-title::before,\r\n  .section-title::after {\r\n    content: '';\r\n    flex: 1;\r\n    height: 1px;\r\n    background-color: #c0c8d8;\r\n  }\r\n  .section-title span {\r\n    padding: 0 1.5rem;\r\n    font-family: Helvetica, Arial, sans-serif;\r\n    font-size: 1.5rem;\r\n    font-weight: 700;\r\n    color: #1e2d5a;\r\n    letter-spacing: 0.1em;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  .lab-3 { padding-bottom: 4rem; }\r\n\r\n  .lab-section {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, 1fr);\r\n    gap: 2rem;\r\n    align-items: center;\r\n  }\r\n\r\n  .img-container {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n  }\r\n\r\n  .img-container img {\r\n    width: 100%;\r\n    max-width: 360px;\r\n    aspect-ratio: 16 \/ 11;\r\n    border-radius: 8px;\r\n    object-fit: cover;\r\n    display: block;\r\n  }\r\n\r\n  @media (max-width: 900px) and (min-width: 601px) {\r\n    .lab-section {\r\n      grid-template-columns: repeat(2, 1fr);\r\n      gap: 1.5rem;\r\n    }\r\n    .lab-section .img-container:nth-child(3) {\r\n      grid-column: 1 \/ -1;\r\n      max-width: 420px;\r\n      margin: 0 auto;\r\n      width: 100%;\r\n    }\r\n    .lab-section .img-container:nth-child(3) img { max-width: 100%; }\r\n    .section-title span { font-size: 1.2rem; }\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .section-title { margin-top: 2.5rem; margin-bottom: 1.25rem; }\r\n    .section-title span { font-size: 1rem; padding: 0 0.75rem; letter-spacing: 0.05em; }\r\n\r\n    .lab-section {\r\n      display: flex;\r\n      flex-direction: row;\r\n      gap: 1rem;\r\n      overflow-x: auto;\r\n      scroll-snap-type: x mandatory;\r\n      -webkit-overflow-scrolling: touch;\r\n      padding: 0.25rem 1rem 1rem;\r\n      scrollbar-width: none;\r\n      -ms-overflow-style: none;\r\n    }\r\n    .lab-section::-webkit-scrollbar { display: none; }\r\n\r\n    .img-container {\r\n      flex: 0 0 78vw;\r\n      max-width: 300px;\r\n      scroll-snap-align: start;\r\n    }\r\n    .img-container img { width: 100%; max-width: 100%; }\r\n    .lab-3 { padding-bottom: 2rem; }\r\n  }\r\n\r\n  .scroll-dots {\r\n    display: none;\r\n    justify-content: center;\r\n    gap: 8px;\r\n    margin: 0.5rem 0 0;\r\n  }\r\n  .scroll-dots button {\r\n    width: 8px;\r\n    height: 8px;\r\n    border-radius: 50%;\r\n    border: none;\r\n    background: #c0c8d8;\r\n    padding: 0;\r\n    cursor: pointer;\r\n    transition: background 0.25s, transform 0.25s;\r\n  }\r\n  .scroll-dots button.active {\r\n    background: #1e2d5a;\r\n    transform: scale(1.35);\r\n  }\r\n\r\n  @media (max-width: 600px) {\r\n    .scroll-dots { display: flex; }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"section-title\"><span>LABORATORIUM PRODUKSI BUSANA<\/span><\/div>\r\n<div class=\"lab-1 lab-section\" id=\"carousel-1\">\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-produksi-busana-3.jpg\" alt=\"Lab Produksi Busana 1\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-produksi-busana-2.jpg\" alt=\"Lab Produksi Busana 2\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-produksi-busana-1.jpg\" alt=\"Lab Produksi Busana 3\"\/><\/div>\r\n<\/div>\r\n<div class=\"scroll-dots\" id=\"dots-1\">\r\n  <button class=\"active\" data-index=\"0\"><\/button>\r\n  <button data-index=\"1\"><\/button>\r\n  <button data-index=\"2\"><\/button>\r\n<\/div>\r\n\r\n<div class=\"section-title\"><span>LABORATORIUM DRAPING<\/span><\/div>\r\n<div class=\"lab-2 lab-section\" id=\"carousel-2\">\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-Draping-2.jpg\" alt=\"Lab Draping 1\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-Draping-1.jpg\" alt=\"Lab Draping 2\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-Draping-3.jpg\" alt=\"Lab Draping 3\"\/><\/div>\r\n<\/div>\r\n<div class=\"scroll-dots\" id=\"dots-2\">\r\n  <button class=\"active\" data-index=\"0\"><\/button>\r\n  <button data-index=\"1\"><\/button>\r\n  <button data-index=\"2\"><\/button>\r\n<\/div>\r\n\r\n<div class=\"section-title\"><span>LABORATORIUM KOMPUTER DESAIN<\/span><\/div>\r\n<div class=\"lab-3 lab-section\" id=\"carousel-3\">\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-komputer-2.jpg\" alt=\"Lab Komputer 1\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2024\/11\/Lab-komputer.jpg\" alt=\"Lab Komputer 2\"\/><\/div>\r\n  <div class=\"img-container\"><img decoding=\"async\" src=\"https:\/\/ft.unj.ac.id\/s1busana\/wp-content\/uploads\/2022\/08\/WhatsApp-Image-2022-08-16-at-10.41.54-PM.jpeg\" alt=\"Lab Komputer 3\"\/><\/div>\r\n<\/div>\r\n<div class=\"scroll-dots\" id=\"dots-3\">\r\n  <button class=\"active\" data-index=\"0\"><\/button>\r\n  <button data-index=\"1\"><\/button>\r\n  <button data-index=\"2\"><\/button>\r\n<\/div>\r\n\r\n<script>\r\n  function initCarousel(carouselId, dotsId) {\r\n    var carousel = document.getElementById(carouselId);\r\n    var dotsContainer = document.getElementById(dotsId);\r\n    if (!carousel || !dotsContainer) return;\r\n\r\n    var dots = dotsContainer.querySelectorAll('button');\r\n    var items = carousel.querySelectorAll('.img-container');\r\n    var total = items.length;\r\n\r\n    function getScrollTargets() {\r\n      \/\/ Build scroll positions: for all but the last, use the card's offsetLeft relative to carousel.\r\n      \/\/ For the last card, use the maximum scrollable position so it's always reachable.\r\n      var targets = [];\r\n      for (var i = 0; i < total; i++) {\r\n        if (i === total - 1) {\r\n          targets.push(carousel.scrollWidth - carousel.clientWidth);\r\n        } else {\r\n          targets.push(items[i].offsetLeft - carousel.offsetLeft);\r\n        }\r\n      }\r\n      return targets;\r\n    }\r\n\r\n    function setActiveDot(index) {\r\n      dots.forEach(function(d) { d.classList.remove('active'); });\r\n      if (dots[index]) dots[index].classList.add('active');\r\n    }\r\n\r\n    \/\/ Dot click \u2192 scroll to card\r\n    dots.forEach(function(dot) {\r\n      dot.addEventListener('click', function() {\r\n        var index = parseInt(this.getAttribute('data-index'));\r\n        var targets = getScrollTargets();\r\n        carousel.scrollTo({ left: targets[index], behavior: 'smooth' });\r\n      });\r\n    });\r\n\r\n    \/\/ Scroll \u2192 update active dot by finding closest scroll target\r\n    var scrollTimer;\r\n    carousel.addEventListener('scroll', function() {\r\n      clearTimeout(scrollTimer);\r\n      scrollTimer = setTimeout(function() {\r\n        var scrollLeft = carousel.scrollLeft;\r\n        var targets = getScrollTargets();\r\n        var closest = 0;\r\n        var minDist = Infinity;\r\n        targets.forEach(function(pos, i) {\r\n          var dist = Math.abs(pos - scrollLeft);\r\n          if (dist < minDist) { minDist = dist; closest = i; }\r\n        });\r\n        setActiveDot(closest);\r\n      }, 50);\r\n    });\r\n  }\r\n\r\n  initCarousel('carousel-1', 'dots-1');\r\n  initCarousel('carousel-2', 'dots-2');\r\n  initCarousel('carousel-3', 'dots-3');\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>LABORATORIUM PRODUKSI BUSANA LABORATORIUM DRAPING LABORATORIUM KOMPUTER DESAIN<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-49","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/pages\/49","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=49"}],"version-history":[{"count":64,"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/pages\/49\/revisions"}],"predecessor-version":[{"id":1104,"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=\/wp\/v2\/pages\/49\/revisions\/1104"}],"wp:attachment":[{"href":"https:\/\/ft.unj.ac.id\/s1busana\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=49"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}