پرش به محتوا

اسلایدر/دماوندپلیمر - فراغیب

از فراغیب
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
 
(۲ نسخهٔ میانیِ ایجادشده توسط همین کاربر نشان داده نشد)
خط ۱۴: خط ۱۴:
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%B3%D9%87_%D9%84%D8%A7%DB%8C%D9%87_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D8%AF%D8%B1_%D8%B8%D8%B1%D9%81%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AE%D8%AA%D9%84%D9%81">
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%B3%D9%87_%D9%84%D8%A7%DB%8C%D9%87_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D8%AF%D8%B1_%D8%B8%D8%B1%D9%81%DB%8C%D8%AA%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AE%D8%AA%D9%84%D9%81">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000605.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000605.jpg"
           alt="مخزن پلی اتیلن سه لایه دماوند پلیمر در ظرفیت‌های مختلف"
           alt="مخزن پلی اتیلن سه لایه دماوند پلیمر در ظرفیت‌های مختلف"
           loading="eager"
           loading="eager"
خط ۲۸: خط ۲۸:
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A2%D8%A8_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%B9%D9%85%D9%88%D8%AF%DB%8C_%D8%B3%D9%87_%D9%84%D8%A7%DB%8C%D9%87_%D9%85%D9%82%D8%A7%D9%88%D9%85_%D8%AF%D8%B1_%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1_%D8%A7%D8%B4%D8%B9%D9%87_UV">
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A2%D8%A8_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%B9%D9%85%D9%88%D8%AF%DB%8C_%D8%B3%D9%87_%D9%84%D8%A7%DB%8C%D9%87_%D9%85%D9%82%D8%A7%D9%88%D9%85_%D8%AF%D8%B1_%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1_%D8%A7%D8%B4%D8%B9%D9%87_UV">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000610.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000610.jpg"
           alt="مخزن آب پلی اتیلن عمودی سه لایه مقاوم در برابر اشعه UV"
           alt="مخزن آب پلی اتیلن عمودی سه لایه مقاوم در برابر اشعه UV"
           loading="lazy"
           loading="lazy"
خط ۴۳: خط ۴۳:
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A7%D9%81%D9%82%DB%8C_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D9%85%D9%86%D8%A7%D8%B3%D8%A8_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%D8%A2%D8%A8_%D9%88_%D9%85%D8%A7%DB%8C%D8%B9%D8%A7%D8%AA">
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A7%D9%81%D9%82%DB%8C_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D9%85%D9%86%D8%A7%D8%B3%D8%A8_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%D8%A2%D8%A8_%D9%88_%D9%85%D8%A7%DB%8C%D8%B9%D8%A7%D8%AA">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000609.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000609.jpg"
           alt="مخزن افقی پلی اتیلن دماوند پلیمر مناسب ذخیره آب و مایعات"
           alt="مخزن افقی پلی اتیلن دماوند پلیمر مناسب ذخیره آب و مایعات"
           loading="lazy"
           loading="lazy"
خط ۵۷: خط ۵۷:
<a href="https://fa.faraghaib.ir/wiki/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86_%D8%B1%D8%A7%D9%87%DA%A9%D8%A7%D8%B1_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%D8%A2%D8%A8_%D8%AF%D8%B1_%D8%A2%D9%BE%D8%A7%D8%B1%D8%AA%D9%85%D8%A7%D9%86%D8%9B_%D9%85%D8%AE%D8%B2%D9%86_%D8%B2%DB%8C%D8%B1%D9%BE%D9%84%D9%87%E2%80%8C%D8%A7%DB%8C_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1">
<a href="https://fa.faraghaib.ir/wiki/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86_%D8%B1%D8%A7%D9%87%DA%A9%D8%A7%D8%B1_%D8%B0%D8%AE%DB%8C%D8%B1%D9%87_%D8%A2%D8%A8_%D8%AF%D8%B1_%D8%A2%D9%BE%D8%A7%D8%B1%D8%AA%D9%85%D8%A7%D9%86%D8%9B_%D9%85%D8%AE%D8%B2%D9%86_%D8%B2%DB%8C%D8%B1%D9%BE%D9%84%D9%87%E2%80%8C%D8%A7%DB%8C_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000615.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000615.jpg"
           alt="مخزن زیرپله پلی اتیلن مناسب آپارتمان و فضای محدود"
           alt="مخزن زیرپله پلی اتیلن مناسب آپارتمان و فضای محدود"
           loading="lazy"
           loading="lazy"
خط ۷۱: خط ۷۱:
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A2%D8%B3%D8%A7%D9%86%E2%80%8C%D8%B1%D9%88_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1%D8%9B_%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%A7%D9%87%D8%B1%D9%88%D9%87%D8%A7%DB%8C_%D8%A8%D8%A7%D8%B1%DB%8C%DA%A9_%D9%88_%D9%81%D8%B6%D8%A7%D9%87%D8%A7%DB%8C_%D9%85%D8%AD%D8%AF%D9%88%D8%AF">
<a href="https://fa.faraghaib.ir/wiki/%D9%85%D8%AE%D8%B2%D9%86_%D8%A2%D8%B3%D8%A7%D9%86%E2%80%8C%D8%B1%D9%88_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1%D8%9B_%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86_%D8%A7%D9%86%D8%AA%D8%AE%D8%A7%D8%A8_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B1%D8%A7%D9%87%D8%B1%D9%88%D9%87%D8%A7%DB%8C_%D8%A8%D8%A7%D8%B1%DB%8C%DA%A9_%D9%88_%D9%81%D8%B6%D8%A7%D9%87%D8%A7%DB%8C_%D9%85%D8%AD%D8%AF%D9%88%D8%AF">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000616.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000616.jpg"
           alt="مخزن آسان‌رو پلی اتیلن دماوند پلیمر مناسب راهرو و درب باریک"
           alt="مخزن آسان‌رو پلی اتیلن دماوند پلیمر مناسب راهرو و درب باریک"
           loading="lazy"
           loading="lazy"
خط ۸۵: خط ۸۵:
<a href="https://fa.faraghaib.ir/wiki/%D8%AE%D8%B1%DB%8C%D8%AF_%D9%85%D8%AE%D8%B2%D9%86_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%A7%D8%B2_%DA%A9%D8%A7%D8%B1%D8%AE%D8%A7%D9%86%D9%87_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D8%A8%D8%A7_%D9%82%DB%8C%D9%85%D8%AA_%D9%85%D9%86%D8%A7%D8%B3%D8%A8">
<a href="https://fa.faraghaib.ir/wiki/%D8%AE%D8%B1%DB%8C%D8%AF_%D9%85%D8%AE%D8%B2%D9%86_%D9%BE%D9%84%DB%8C_%D8%A7%D8%AA%DB%8C%D9%84%D9%86_%D8%A7%D8%B2_%DA%A9%D8%A7%D8%B1%D8%AE%D8%A7%D9%86%D9%87_%D8%AF%D9%85%D8%A7%D9%88%D9%86%D8%AF_%D9%BE%D9%84%DB%8C%D9%85%D8%B1_%D8%A8%D8%A7_%D9%82%DB%8C%D9%85%D8%AA_%D9%85%D9%86%D8%A7%D8%B3%D8%A8">
         <img
         <img
           src="https://dl.faraghaib.ir/m/108/26000605.jpg"
           src="https://dl.faraghaib.ir/m/260006/26000605.jpg"
           alt="خرید مخزن پلی اتیلن از کارخانه دماوند پلیمر با قیمت مناسب"
           alt="خرید مخزن پلی اتیلن از کارخانه دماوند پلیمر با قیمت مناسب"
           loading="lazy"
           loading="lazy"
خط ۱۱۸: خط ۱۱۸:


<style>
<style>
.fgwiki-gallery,
  .fgwiki-gallery,
.fgwiki-gallery *{
  .fgwiki-gallery * {
     box-sizing:border-box;
     box-sizing: border-box;
}
  }
.fgwiki-gallery{
 
    /* Mobile First */
  .fgwiki-gallery {
     --fg-items:1;
     --fg-items: 3;
     --fg-gap:12px;
     --fg-gap: 18px;
     --fg-radius:18px;
     --fg-radius: 18px;
     --fg-image-height:260px;
     --fg-image-height: 300px;
     --fg-side-blur:0;
     --fg-side-blur: 2px;
     --fg-side-opacity:1;
     --fg-side-opacity: 0.55;
     --fg-accent:#ff2a2a;
     --fg-accent: #1473e6;
     --fg-card-bg:#fff;
     --fg-card-bg: #ffffff;
     --fg-image-bg:#f8f9fa;
     --fg-image-bg: #f5f7fa;
     --fg-caption-bg:#fff;
     --fg-caption-bg: #ffffff;
     --fg-caption-color:#243447;
     --fg-caption-color: #1f2937;
     position:relative;
 
     width:100%;
     position: relative;
    max-width:1240px;
     width: min(100%, 1240px);
     margin:28px auto;
     margin: 28px auto;
     padding:0 36px 42px;
     padding: 0 56px 42px;
     direction:rtl;
     direction: rtl;
     font-family:iransans,Arial,sans-serif;
     font-family: iransans, Arial, sans-serif;
    overflow:hidden;
  }
}
 
.fgwiki-gallery__viewport{
  .fgwiki-gallery__viewport {
     width:100%;
     width: 100%;
     overflow:hidden;
     overflow: hidden;
     border-radius:var(--fg-radius);
     border-radius: var(--fg-radius);
     touch-action:pan-y;
     touch-action: pan-y;
}
  }
.fgwiki-gallery__track{
 
     display:flex;
  .fgwiki-gallery__track {
     gap:var(--fg-gap);
     display: flex;
     width:100%;
    flex-direction: row;
    will-change:transform;
     gap: var(--fg-gap);
     transform:translate3d(0,0,0);
     width: 100%;
     transition:transform .65s cubic-bezier(.22,1,.36,1);
     transform: translate3d(0, 0, 0);
}
     transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
.fgwiki-gallery__slide{
    will-change: transform;
     flex:0 0 calc(
  }
        (100% - (var(--fg-items) - 1) * var(--fg-gap))
 
        /
  .fgwiki-gallery__slide {
        var(--fg-items)
     flex: 0 0 calc(
      (100% - (var(--fg-items) - 1) * var(--fg-gap)) / var(--fg-items)
     );
     );
     min-width:0;
     min-width: 0;
     margin:0;
     margin: 0;
     overflow:hidden;
     overflow: hidden;
     background:var(--fg-card-bg);
     background: var(--fg-card-bg);
     border-radius:var(--fg-radius);
    border: 1px solid rgba(0, 0, 0, 0.08);
     border:1px solid #e5e7eb;
     border-radius: var(--fg-radius);
     box-shadow:0 6px 18px rgba(0,0,0,.06);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.10);
    transition:
      transform 450ms ease,
      filter 450ms ease,
      opacity 450ms ease,
      box-shadow 450ms ease;
  }
 
  .fgwiki-gallery__slide img {
    display: block;
    width: 100%;
    height: var(--fg-image-height);
    padding: 10px;
    background: var(--fg-image-bg);
    object-fit: contain;
    object-position: center;
    border: 0;
  }
 
  .fgwiki-gallery__caption {
    min-height: 72px;
    padding: 14px 16px 16px;
    color: var(--fg-caption-color);
    background: var(--fg-caption-bg);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.9;
    text-align: right;
  }
 
  .fgwiki-gallery__slide:not(.is-center) {
    filter: blur(var(--fg-side-blur));
    opacity: var(--fg-side-opacity);
    transform: scale(0.94);
  }
 
  .fgwiki-gallery__slide.is-center {
    filter: none;
    opacity: 1;
    transform: scale(1.03);
    box-shadow: 0 16px 36px rgba(20, 115, 230, 0.18);
     border-color: rgba(20, 115, 230, 0.18);
  }
 
  .fgwiki-gallery__button {
    position: absolute;
    top: calc(50% - 24px);
    z-index: 15;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: #ffffff;
    background: rgba(17, 24, 39, 0.78);
    border: 0;
    border-radius: 50%;
     box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
    font-family: Arial, sans-serif;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition:
      background-color 200ms ease,
      transform 200ms ease;
  }
 
  .fgwiki-gallery__button:hover {
    background: var(--fg-accent);
    transform: translateY(-50%) scale(1.08);
  }
 
  .fgwiki-gallery__button:focus-visible {
    outline: 3px solid rgba(20, 115, 230, 0.30);
    outline-offset: 3px;
  }
 
  .fgwiki-gallery__button--right {
    right: 0;
  }
 
  .fgwiki-gallery__button--left {
    left: 0;
  }
 
  .fgwiki-gallery__dots {
    position: absolute;
    right: 50%;
    bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    transform: translateX(50%);
  }
 
  .fgwiki-gallery__dot {
    width: 9px;
    height: 9px;
    padding: 0;
    background: #c7ced8;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
     transition:
     transition:
        transform .4s ease,
      width 250ms ease,
        opacity .4s ease,
      background-color 250ms ease,
        filter .4s ease,
      opacity 250ms ease;
        box-shadow .4s ease;
  }
}
 
.fgwiki-gallery__slide img{
  .fgwiki-gallery__dot.is-active {
     display:block;
     width: 24px;
     width:100%;
    background: var(--fg-accent);
     height:var(--fg-image-height);
     border-radius: 999px;
     padding:10px;
  }
     object-fit:contain;
 
    object-position:center;
  .fgwiki-gallery__dot:focus-visible {
    background:var(--fg-image-bg);
     outline: 2px solid var(--fg-accent);
    border:0;
     outline-offset: 2px;
}
  }
.fgwiki-gallery__caption{
 
    min-height:62px;
  @media (max-width: 900px) {
     padding:12px 14px;
     .fgwiki-gallery {
     background:var(--fg-caption-bg);
      --fg-items: 2;
    color:var(--fg-caption-color);
      --fg-image-height: 280px;
    font-size:13px;
      --fg-side-blur: 1.5px;
    font-weight:700;
      padding-right: 46px;
    line-height:1.8;
      padding-left: 46px;
    text-align:right;
    }
}
 
/* موبایل هیچ Blur ندارد */
    .fgwiki-gallery__caption {
.fgwiki-gallery__slide,
      min-height: 68px;
.fgwiki-gallery__slide.is-center,
      font-size: 13px;
.fgwiki-gallery__slide:not(.is-center){
     }
    opacity:1;
 
    filter:none;
    .fgwiki-gallery__button {
    transform:none;
      width: 40px;
}
      height: 40px;
/* دکمه ها */
      font-size: 21px;
.fgwiki-gallery__button{
     }
    position:absolute;
  }
    top:50%;
 
    z-index:15;
  @media (max-width: 600px) {
    width:34px;
    .fgwiki-gallery {
    height:34px;
      --fg-items: 1;
    display:flex;
      --fg-gap: 12px;
    align-items:center;
      --fg-image-height: 260px;
    justify-content:center;
      --fg-side-blur: 0;
     padding:0;
      --fg-side-opacity: 1;
    border:0;
      width: 100%;
     border-radius:50%;
      padding-right: 36px;
    background:rgba(36,52,71,.82);
      padding-left: 36px;
    color:#fff;
    }
    font-size:18px;
 
     cursor:pointer;
    .fgwiki-gallery__slide,
    box-shadow:2px 5px 4px rgba(0,0,0,.35);
    .fgwiki-gallery__slide.is-center,
    transform:translateY(-50%);
    .fgwiki-gallery__slide:not(.is-center) {
     transition:.25s;
      filter: none;
}
      opacity: 1;
.fgwiki-gallery__button:hover{
      transform: none;
    background:var(--fg-accent);
    }
     transform:translateY(-50%) scale(1.08);
 
}
    .fgwiki-gallery__caption {
.fgwiki-gallery__button:focus-visible{
      min-height: 62px;
    outline:3px solid rgba(255,42,42,.25);
      padding: 12px 14px;
     outline-offset:3px;
      font-size: 13px;
}
      line-height: 1.8;
.fgwiki-gallery__button--right{
     }
     right:0;
 
}
     .fgwiki-gallery__button {
.fgwiki-gallery__button--left{
      width: 34px;
    left:0;
      height: 34px;
}
      font-size: 18px;
/* Dots */
     }
.fgwiki-gallery__dots{
  }
     position:absolute;
 
    bottom:6px;
  @media (prefers-reduced-motion: reduce) {
     .fgwiki-gallery__track,
     .fgwiki-gallery__slide,
     .fgwiki-gallery__button,
     .fgwiki-gallery__dot {
      transition: none;
    }
  }
     position:relative;
     left:50%;
     left:50%;
     display:flex;
     right:50%;
    gap:7px;
     margin-left:-50vw;
    transform:translateX(-50%);
     margin-right:-50vw;
}
     width:100vw;
.fgwiki-gallery__dot{
     overflow:hidden;
    width:9px;
 
     height:9px;
    padding:0;
    border:0;
    border-radius:999px;
    background:#d6dbe1;
    cursor:pointer;
    transition:.25s;
}
.fgwiki-gallery__dot.is-active{
    width:24px;
    background:var(--fg-accent);
}
.fgwiki-gallery__dot:focus-visible{
    outline:2px solid var(--fg-accent);
    outline-offset:2px;
}
/* ---------- Tablet ---------- */
@media (min-width:601px){
.fgwiki-gallery{
    --fg-items:2;
    --fg-gap:18px;
    --fg-image-height:280px;
    --fg-side-blur:1.5px;
    padding-left:46px;
    padding-right:46px;
}
.fgwiki-gallery__slide:not(.is-center){
    transform:scale(.95);
    opacity:.6;
    filter:blur(var(--fg-side-blur));
}
.fgwiki-gallery__slide.is-center{
    transform:scale(1.03);
    opacity:1;
    filter:none;
    box-shadow:0 12px 28px rgba(255,42,42,.18);
     border-color:rgba(255,42,42,.30);
}
.fgwiki-gallery__caption{
    min-height:68px;
}
.fgwiki-gallery__button{
    width:40px;
    height:40px;
    font-size:21px;
}
}
/* ---------- Desktop ---------- */
@media (min-width:901px){
.fgwiki-gallery{
    --fg-items:3;
    --fg-image-height:300px;
    --fg-side-blur:2px;
    --fg-side-opacity:.55;
    padding-left:56px;
    padding-right:56px;
}
.fgwiki-gallery__slide:not(.is-center){
    opacity:var(--fg-side-opacity);
    transform:scale(.94);
}
.fgwiki-gallery__button{
     width:44px;
    height:44px;
    font-size:24px;
}
.fgwiki-gallery__caption{
    min-height:72px;
     font-size:14px;
}
}
/* کاهش انیمیشن */
@media (prefers-reduced-motion:reduce){
.fgwiki-gallery__track,
.fgwiki-gallery__slide,
.fgwiki-gallery__button,
.fgwiki-gallery__dot{
    transition:none;
}
}
</style>
</style>
<script>
<script>
(function () {
  (function () {
"use strict";
    "use strict";
document.querySelectorAll(".fgwiki-gallery").forEach(function (slider) {
 
const track = slider.querySelector(".fgwiki-gallery__track");
    document.querySelectorAll(".fgwiki-gallery").forEach(function (slider) {
const viewport = slider.querySelector(".fgwiki-gallery__viewport");
      const track = slider.querySelector(".fgwiki-gallery__track");
const originalSlides = Array.from(
      const originalSlides = Array.from(
slider.querySelectorAll(".fgwiki-gallery__slide")
        slider.querySelectorAll(".fgwiki-gallery__slide")
);
      );
const rightButton = slider.querySelector(".fgwiki-gallery__button--right");
      const rightButton = slider.querySelector(".fgwiki-gallery__button--right");
const leftButton = slider.querySelector(".fgwiki-gallery__button--left");
      const leftButton = slider.querySelector(".fgwiki-gallery__button--left");
const dotsContainer = slider.querySelector(".fgwiki-gallery__dots");
      const dotsContainer = slider.querySelector(".fgwiki-gallery__dots");
if (
 
!track ||
      if (!track || originalSlides.length === 0) {
!viewport ||
        return;
originalSlides.length === 0
      }
){
 
return;
      let currentIndex = 0;
}
      let autoPlayTimer = null;
/* ---------------------- */
      let touchStartX = 0;
/* State */
      let touchEndX = 0;
/* ---------------------- */
      let isAnimating = false;
let currentIndex = 0;
      const autoPlayDelay = 3500;
let visibleItems = 1;
 
let slideWidth = 0;
      function getVisibleItems() {
let slideStep = 0;
        const value = getComputedStyle(slider)
let totalSlides = originalSlides.length;
          .getPropertyValue("--fg-items")
let autoPlayTimer = null;
          .trim();
let isAnimating = false;
 
let resizeTimer = null;
        return Math.max(1, parseInt(value, 10) || 1);
let touchStartX = 0;
      }
let touchCurrentX = 0;
 
let pointerDown = false;
      function cleanupClones() {
const autoPlayDelay = 3500;
        Array.from(track.querySelectorAll(".is-clone")).forEach(function (node) {
/* ---------------------- */
          node.remove();
/* Helpers */
        });
/* ---------------------- */
      }
function getVisibleItems(){
 
const value = parseInt(
      function buildInfiniteTrack() {
getComputedStyle(slider)
        cleanupClones();
.getPropertyValue("--fg-items"),
 
10
        const visibleItems = getVisibleItems();
);
        const slides = Array.from(track.children).filter(function (slide) {
return Math.max(1,value || 1);
          return !slide.classList.contains("is-clone");
}
        });
/* ---------------------- */
 
function removeClones(){
        const prependClones = slides.slice(-visibleItems).map(function (slide) {
track
          const clone = slide.cloneNode(true);
.querySelectorAll(".is-clone")
          clone.classList.add("is-clone");
.forEach(function(node){
          clone.setAttribute("aria-hidden", "true");
node.remove();
          return clone;
});
        });
}
 
/* ---------------------- */
        const appendClones = slides.slice(0, visibleItems).map(function (slide) {
function cloneSlides(){
          const clone = slide.cloneNode(true);
removeClones();
          clone.classList.add("is-clone");
visibleItems = getVisibleItems();
          clone.setAttribute("aria-hidden", "true");
const slides = Array.from(track.children)
          return clone;
.filter(function(slide){
        });
return !slide.classList.contains("is-clone");
 
});
        prependClones.forEach(function (clone) {
const before = slides
          track.insertBefore(clone, track.firstChild);
.slice(-visibleItems)
        });
.map(function(slide){
 
const clone = slide.cloneNode(true);
        appendClones.forEach(function (clone) {
clone.classList.add("is-clone");
          track.appendChild(clone);
clone.setAttribute("aria-hidden","true");
        });
return clone;
 
});
        currentIndex = visibleItems;
const after = slides
        updateSlider(false);
.slice(0,visibleItems)
      }
.map(function(slide){
 
const clone = slide.cloneNode(true);
      function getAllSlides() {
clone.classList.add("is-clone");
        return Array.from(track.querySelectorAll(".fgwiki-gallery__slide"));
clone.setAttribute("aria-hidden","true");
      }
return clone;
 
});
      function getRealSlidesCount() {
before.forEach(function(node){
        return originalSlides.length;
track.insertBefore(node,track.firstChild);
      }
});
 
after.forEach(function(node){
      function getSlideStep() {
track.appendChild(node);
        const slides = getAllSlides();
});
 
currentIndex = visibleItems;
        if (slides.length < 2) {
}
          return slides[0] ? slides[0].getBoundingClientRect().width : 0;
/* ---------------------- */
        }
function getSlides(){
 
return Array.from(
        const firstSlide = slides[0].getBoundingClientRect();
track.querySelectorAll(".fgwiki-gallery__slide")
        const secondSlide = slides[1].getBoundingClientRect();
);
 
}
        return Math.abs(secondSlide.left - firstSlide.left);
/* ---------------------- */
      }
function calculateSizes(){
 
const slide = getSlides()[0];
      function updateDots() {
if(!slide){
        const visibleItems = getVisibleItems();
return;
        const realSlidesCount = getRealSlidesCount();
}
        const maxDotIndex = Math.max(0, realSlidesCount - visibleItems);
slideWidth = slide.offsetWidth;
        const realIndex = ((currentIndex - visibleItems) % realSlidesCount + realSlidesCount) % realSlidesCount;
const gap = parseFloat(
        const activeDotIndex = Math.min(realIndex, maxDotIndex);
getComputedStyle(track).columnGap ||
 
getComputedStyle(track).gap ||
        const dots = dotsContainer.querySelectorAll(".fgwiki-gallery__dot");
0
 
);
        dots.forEach(function (dot, index) {
slideStep = slideWidth + gap;
          const isActive = index === activeDotIndex;
}
          dot.classList.toggle("is-active", isActive);
/* ---------------------- */
          dot.setAttribute("aria-current", isActive ? "true" : "false");
function translate(immediate=false){
        });
const offset = currentIndex * slideStep;
      }
if(immediate){
 
track.style.transition="none";
      function updateCenterState() {
}else{
        const visibleItems = getVisibleItems();
track.style.transition="";
        const centerOffset = Math.floor(visibleItems / 2);
}
        const centerIndex = currentIndex + centerOffset;
/* RTL */
        const slides = getAllSlides();
track.style.transform =
 
"translate3d("+offset+"px,0,0)";
        slides.forEach(function (slide, index) {
if(immediate){
          slide.classList.toggle("is-center", index === centerIndex);
requestAnimationFrame(function(){
        });
track.style.transition="";
      }
});
 
}
      function updateSlider(animate) {
}
        const step = getSlideStep();
/* ---------------------- */
        const offset = currentIndex * step;
function updateCenter(){
 
const slides = getSlides();
        if (!animate) {
slides.forEach(function(slide){
          track.style.transition = "none";
slide.classList.remove("is-center");
        } else {
});
          track.style.transition = "";
const center =
        }
currentIndex +
 
Math.floor(visibleItems/2);
        track.style.transform = "translate3d(" + offset + "px, 0, 0)";
if(slides[center]){
 
slides[center]
        updateDots();
.classList.add("is-center");
        updateCenterState();
}
 
}
        if (!animate) {
/* ---------------------- */
          requestAnimationFrame(function () {
function updateDots(){
            requestAnimationFrame(function () {
const dots =
              track.style.transition = "";
dotsContainer.querySelectorAll(
            });
".fgwiki-gallery__dot"
          });
);
        }
const realIndex =
      }
(
 
(
      function jumpIfNeeded() {
currentIndex-visibleItems
        const visibleItems = getVisibleItems();
)%totalSlides+
        const realSlidesCount = getRealSlidesCount();
totalSlides
 
)%totalSlides;
        if (currentIndex >= realSlidesCount + visibleItems) {
const active =
          currentIndex = visibleItems;
Math.min(
          updateSlider(false);
realIndex,
        } else if (currentIndex < visibleItems) {
Math.max(0,totalSlides-visibleItems)
          currentIndex = realSlidesCount + visibleItems - 1;
);
          updateSlider(false);
dots.forEach(function(dot,index){
        }
const state=index===active;
 
dot.classList.toggle(
        updateCenterState();
"is-active",
        updateDots();
state
      }
);
 
dot.setAttribute(
      function goToSlide(index) {
"aria-current",
        if (isAnimating) {
state
          return;
);
        }
});
 
}
        isAnimating = true;
/* ---------------------- */
        currentIndex = index;
function update(immediate=false){
        updateSlider(true);
calculateSizes();
 
translate(immediate);
        window.setTimeout(function () {
updateCenter();
          jumpIfNeeded();
updateDots();
          isAnimating = false;
}
        }, 680);
/* ---------------------- */
      }
function build(){
 
cloneSlides();
      function moveRight() {
createDots();
        goToSlide(currentIndex + 1);
update(true);
      }
}
 
/* ---------------------- */
      function moveLeft() {
function debounceResize(){
        goToSlide(currentIndex - 1);
clearTimeout(resizeTimer);
      }
resizeTimer=setTimeout(function(){
 
const logicalIndex=
      function createDots() {
(
        const visibleItems = getVisibleItems();
(
        const dotsCount = Math.max(1, getRealSlidesCount() - visibleItems + 1);
currentIndex-visibleItems
 
)%totalSlides+
        dotsContainer.innerHTML = "";
totalSlides
 
)%totalSlides;
        for (let index = 0; index < dotsCount; index += 1) {
build();
          const dot = document.createElement("button");
currentIndex=
 
visibleItems+
          dot.type = "button";
logicalIndex;
          dot.className = "fgwiki-gallery__dot";
update(true);
          dot.setAttribute("aria-label", "نمایش اسلاید شماره " + (index + 1));
},150);
 
}
          dot.addEventListener("click", function () {
/* ---------------------- */
            currentIndex = getVisibleItems() + index;
/* Movement Logic */
            updateSlider(true);
/* ---------------------- */
            restartAutoPlay();
function normalizeIndex(){
          });
const maxIndex =
 
totalSlides + visibleItems;
          dotsContainer.appendChild(dot);
if(currentIndex >= maxIndex){
        }
currentIndex = visibleItems;
 
update(true);
        updateDots();
}
      }
if(currentIndex < visibleItems){
 
currentIndex =
      function startAutoPlay() {
totalSlides +
        stopAutoPlay();
visibleItems -
 
1;
        if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
update(true);
          return;
}
        }
}
 
/* ---------------------- */
        autoPlayTimer = window.setInterval(function () {
function goToSlide(index){
          moveRight();
if(isAnimating){
        }, autoPlayDelay);
return;
      }
}
 
currentIndex = index;
      function stopAutoPlay() {
isAnimating = true;
        if (autoPlayTimer !== null) {
update(false);
          window.clearInterval(autoPlayTimer);
}
          autoPlayTimer = null;
/* ---------------------- */
        }
function moveRight(){
      }
goToSlide(currentIndex + 1);
 
}
      function restartAutoPlay() {
/* ---------------------- */
        stopAutoPlay();
function moveLeft(){
        startAutoPlay();
goToSlide(currentIndex - 1);
      }
}
 
/* ---------------------- */
      rightButton.addEventListener("click", function () {
/* Transition Handler */
        moveRight();
/* ---------------------- */
        restartAutoPlay();
track.addEventListener(
      });
"transitionend",
 
function(event){
      leftButton.addEventListener("click", function () {
if(event.propertyName !== "transform"){
        moveLeft();
return;
        restartAutoPlay();
}
      });
if(!isAnimating){
 
return;
      slider.addEventListener("mouseenter", stopAutoPlay);
}
      slider.addEventListener("mouseleave", startAutoPlay);
normalizeIndex();
      slider.addEventListener("focusin", stopAutoPlay);
isAnimating = false;
 
});
      slider.addEventListener("focusout", function (event) {
/* ---------------------- */
        if (!slider.contains(event.relatedTarget)) {
/* Dots Navigation */
          startAutoPlay();
/* ---------------------- */
        }
function createDots(){
      });
if(!dotsContainer){
 
return;
      slider.addEventListener(
}
        "touchstart",
const count =
        function (event) {
Math.max(
          touchStartX = event.changedTouches[0].clientX;
1,
          touchEndX = touchStartX;
totalSlides-visibleItems+1
          stopAutoPlay();
);
        },
dotsContainer.innerHTML="";
        { passive: true }
for(
      );
let i=0;
 
i<count;
      slider.addEventListener(
i++
        "touchmove",
){
        function (event) {
const dot =
          touchEndX = event.changedTouches[0].clientX;
document.createElement("button");
        },
dot.type="button";
        { passive: true }
dot.className =
      );
"fgwiki-gallery__dot";
 
dot.setAttribute(
      slider.addEventListener(
"aria-label",
        "touchend",
"نمایش اسلاید شماره "+(i+1)
        function () {
);
          const swipeDistance = touchEndX - touchStartX;
dot.addEventListener(
 
"click",
          if (Math.abs(swipeDistance) > 45) {
function(){
            if (swipeDistance > 0) {
if(isAnimating){
              moveRight();
return;
            } else {
}
              moveLeft();
currentIndex =
            }
visibleItems+i;
          }
goToSlide(currentIndex);
 
restartAutoPlay();
          startAutoPlay();
});
        },
dotsContainer.appendChild(dot);
        { passive: true }
}
      );
updateDots();
 
}
      window.addEventListener("resize", function () {
/* ---------------------- */
        buildInfiniteTrack();
/* Buttons */
        createDots();
/* ---------------------- */
      });
if(rightButton){
 
rightButton.addEventListener(
      if ("IntersectionObserver" in window) {
"click",
        const observer = new IntersectionObserver(
function(){
          function (entries) {
moveRight();
            entries.forEach(function (entry) {
restartAutoPlay();
              if (entry.isIntersecting) {
});
                startAutoPlay();
}
              } else {
if(leftButton){
                stopAutoPlay();
leftButton.addEventListener(
              }
"click",
            });
function(){
          },
moveLeft();
          {
restartAutoPlay();
            threshold: 0.2
});
          }
}
        );
/* ---------------------- */
 
/* Keyboard Support */
        observer.observe(slider);
/* ---------------------- */
      } else {
slider.addEventListener(
        startAutoPlay();
"keydown",
      }
function(event){
 
if(event.key==="ArrowLeft"){
      buildInfiniteTrack();
moveLeft();
      createDots();
restartAutoPlay();
    });
}
  })();
if(event.key==="ArrowRight"){
moveRight();
restartAutoPlay();
}
});
slider.setAttribute(
"tabindex",
"0"
);
/* ---------------------- */
/* Hover Pause */
/* ---------------------- */
slider.addEventListener(
"mouseenter",
stopAutoPlay
);
slider.addEventListener(
"mouseleave",
startAutoPlay
);
slider.addEventListener(
"focusin",
stopAutoPlay
);
slider.addEventListener(
"focusout",
function(event){
if(!slider.contains(event.relatedTarget)){
startAutoPlay();
}
});
/* ---------------------- */
/* Touch / Swipe */
/* ---------------------- */
slider.addEventListener(
"touchstart",
function(event){
if(event.touches.length !== 1){
return;
}
pointerDown = true;
touchStartX =
event.touches[0].clientX;
touchCurrentX =
touchStartX;
stopAutoPlay();
},
{
passive:true
}
);
slider.addEventListener(
"touchmove",
function(event){
if(!pointerDown){
return;
}
touchCurrentX =
event.touches[0].clientX;
},
{
passive:true
}
);
slider.addEventListener(
"touchend",
function(){
if(!pointerDown){
return;
}
pointerDown=false;
const distance =
touchCurrentX -
touchStartX;
if(Math.abs(distance)>45){
if(distance>0){
moveLeft();
}else{
moveRight();
}
}
startAutoPlay();
},
{
passive:true
}
);
/* ---------------------- */
/* Auto Play */
/* ---------------------- */
function startAutoPlay(){
stopAutoPlay();
if(
window.matchMedia(
"(prefers-reduced-motion: reduce)"
).matches
){
return;
}
autoPlayTimer =
setInterval(function(){
if(!isAnimating){
moveRight();
}
},autoPlayDelay);
}
function stopAutoPlay(){
if(autoPlayTimer!==null){
clearInterval(autoPlayTimer);
autoPlayTimer=null;
}
}
function restartAutoPlay(){
stopAutoPlay();
startAutoPlay();
}
/* ---------------------- */
/* Visibility Observer */
/* ---------------------- */
if("IntersectionObserver" in window){
const observer =
new IntersectionObserver(
function(entries){
entries.forEach(function(entry){
if(entry.isIntersecting){
startAutoPlay();
}else{
stopAutoPlay();
}
});
},
{
threshold:.25
}
);
observer.observe(slider);
}else{
startAutoPlay();
}
/* ---------------------- */
/* Resize */
/* ---------------------- */
window.addEventListener(
"resize",
debounceResize
);
/* ---------------------- */
/* Initial Build */
/* ---------------------- */
build();
/* ---------------------- */
/* Accessibility */
/* ---------------------- */
slider.setAttribute(
"role",
"region"
);
slider.setAttribute(
"aria-label",
"گالری تصاویر"
);
track.setAttribute(
"aria-live",
"polite"
);
});
});
})();
</script>
</script>


</html>
</html>

نسخهٔ کنونی تا ‏۱۱ اوت ۲۰۲۶، ساعت ۰۶:۳۶