جریان فعالیت
گزارش-اصلاح / به‌روزرسانی

افزودن 3 فایل به وظایف

دوشنبه، ساعت ۴:۲۴ عصر
وضعیت پروژه

علامت‌گذاری طراحی به عنوان تکمیل‌شده

دوشنبه، ساعت ۳:۰۰ عصر
UI
نسخه جدید UI اپلیکیشن Larkon v2.0.0 جدیدترین

دسترسی به بیش از ۲۰ صفحه شامل طراحی داشبورد، نمودارها، تابلو کانبان، تقویم و صفحات از پیش‌سفارش‌شده برای E-commerce و بازاریابی.

دوشنبه، ساعت ۲:۱۰ عصر
avatar-5
الکس اسمیت، عکس‌های پیوست‌شده
دوشنبه، ساعت ۱:۰۰ عصر
avatar-5
ربکا جی. یک عضو جدید به تیم اضافه کرد

یک عضو جدید به داشبورد جلو اضافه کرد

دوشنبه، ساعت ۱۰:۰۰ صبح
دستاوردها

دریافت یک "جایزه بهترین محصول"

دوشنبه، ساعت ۹:۳۰ صبح
مشاهده همه
کلیات وب‌سایت رسمی

noUiSlider یک اسلایدر دامنه سبک جاوااسکریپت است.

اسلایدر دامنه پایه#
                                                                                 
                                                                                      <div id="rangeslider_basic"></label>
                                                                                 
                                                                            
                                                                                 
                                                                                      var sliderColorScheme = document.querySelectorAll('#rangeslider_basic');
                                                                                      if (sliderColorScheme)
                                                                                           sliderColorScheme.forEach(function (slider) {
                                                                                                noUiSlider.create(slider, {
                                                                                                     start: 127,
                                                                                                     connect: 'lower',
                                                                                                     range: {
                                                                                                          'min': 0,
                                                                                                          'max': 255
                                                                                                     },
                                                                                                });
                                                                                           });
                                                                                 
                                                                            
اسلایدر دامنه عمودی#
                                                                                 
                                                                                      <div class="mb-3">
                                                                                           <div id="rangeslider_vertical" style="height: 150px;"></div>
                                                                                      </div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var rangesliderVertical = document.querySelectorAll('#rangeslider_vertical');
                                                                                      if (rangesliderVertical)
                                                                                      rangesliderVertical.forEach(function (slider) {
                                                                                           noUiSlider.create(slider, {
                                                                                                start: [60, 160],
                                                                                                connect: true,
                                                                                                orientation: "vertical",
                                                                                                range: {
                                                                                                     "min": 0,
                                                                                                     "max": 200
                                                                                                }
                                                                                           });
                                                                                      });
                                                                                 
                                                                            
دامنه چند عنصری#
                                                                                 
                                                                                      <div class="mb-3">
                                                                                           <div id="rangeslider_multielement"></div>
                                                                                      </div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var multielementslider = document.querySelectorAll('#rangeslider_multielement');
                                                                                      if (multielementslider)
                                                                                      multielementslider.forEach(function (slider) {
                                                                                           noUiSlider.create(slider, {
                                                                                                start: [20, 80],
                                                                                                connect: true,
                                                                                                range: {
                                                                                                     'min': 0,
                                                                                                     'max': 100
                                                                                                }
                                                                                           });
                                                                                      });
                                                                                 
                                                                            
انتخاب رنگ#
                                                                                 
                                                                                      <div class="mb-3">
                                                                                      <div class="sliders" id="red"></div>
                                                                                      <div class="sliders" id="green"></div>
                                                                                      <div class="sliders" id="blue"></div>
                
                                                                                      <div id="result"></div>
                                                                                 </div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var resultElement = document.getElementById('result');
                                                                                      var sliders = document.getElementsByClassName('sliders');
                                                                                      var colors = [0, 0, 0];
                                                                                      if (sliders)
                                                                                      [].slice.call(sliders).forEach(function (slider, index) {
                
                                                                                           noUiSlider.create(slider, {
                                                                                                start: 127,
                                                                                                connect: [true, false],
                                                                                                orientation: "vertical",
                                                                                                range: {
                                                                                                     'min': 0,
                                                                                                     'max': 255
                                                                                                },
                                                                                                format: wNumb({
                                                                                                     decimals: 0
                                                                                                })
                                                                                           });
                
                                                                                           // تابع تغییر رنگ را به رویداد بروزرسانی متصل کنید.
                                                                                           slider.noUiSlider.on('update', function () {
                
                                                                                                colors[index] = slider.noUiSlider.get();
                
                                                                                                var color = 'rgb(' + colors.join(',') + ')';
                
                                                                                                resultElement.style.background = color;
                                                                                                resultElement.style.color = color;
                                                                                           });
                                                                                      });
                
                                                                                 
                                                                            
اسلایدر دامنه مقداری#
                                                                                 
                                                                                      <div class="mb-3">
                                                                                      <div id="nonlinear"></div>
                                                                                      <div class="d-flex justify-content-between">
                                                                                           <div class="example-val" id="lower-value"></div>
                                                                                           <div class="example-val" id="upper-value"></div>
                                                                                      </div>
                                                                                 </div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var nonLinearSlider = document.getElementById('nonlinear');
                                                                                      if (nonLinearSlider)
                                                                                           noUiSlider.create(nonLinearSlider, {
                                                                                                connect: true,
                                                                                                behaviour: 'tap',
                                                                                                start: [500, 4000],
                                                                                                range: {
                                                                                                     // شروع از 500، مقدار را به 500 افزایش دهید،
                                                                                                     // تا 4000 برسد. از آنجا، هر 1000 افزایش دهید.
                                                                                                     'min': [0],
                                                                                                     '10%': [500, 500],
                                                                                                     '50%': [4000, 1000],
                                                                                                     'max': [10000]
                                                                                                }
                                                                                           });
                
                                                                                      var nodes = [
                                                                                           document.getElementById('lower-value'), // 0
                                                                                           document.getElementById('upper-value') // 1
                                                                                      ];
                
                                                                                      // مقدار اسلایدر و اینکه چقدر دستگیره از لبه سمت چپ اسلایدر حرکت کرده است را نمایش دهید.
                                                                                      nonLinearSlider.noUiSlider.on('update', function (values, handle, unencoded, isTap, positions) {
                                                                                           nodes[handle].innerHTML = values[handle] + ', ' + positions[handle].toFixed(2) + '%';
                                                                                      });
                                                                                 
                                                                            
قفل‌کردن اسلایدرها#
                                                                                 
                                                                                      <div class="mb-3">
                                                                                           <div class="slider" id="slider1"></div>
                                                                                           <span class="example-val mt-2" id="slider1-span"></span>
                
                                                                                           <div class="slider" id="slider2"></div>
                                                                                           <span class="example-val mt-2" id="slider2-span"></span>
                
                                                                                           <button id="lockbutton" class="btn btn-primary">قفل</button>
                                                                                      </div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var lockedState = false;
                                                                                      var lockedSlider = false;
                                                                                      var lockedValues = [60, 80];
                
                                                                                      var slider1 = document.getElementById('slider1');
                                                                                      var slider2 = document.getElementById('slider2');
                
                                                                                      var lockButton = document.getElementById('lockbutton');
                                                                                      var slider1Value = document.getElementById('slider1-span');
                                                                                      var slider2Value = document.getElementById('slider2-span');
                
                                                                                      // وقتی دکمه کلیک شود، وضعیت قفل برعکس می‌شود.
                                                                                      if (lockButton)
                                                                                      lockButton.addEventListener('click', function () {
                                                                                           lockedState = !lockedState;
                                                                                           this.textContent = lockedState ? 'بازکردن' : 'قفل کردن';
                                                                                      });
                
                                                                                      function crossUpdate(value, slider) {
                
                                                                                      // اگر اسلایدرها قفل نیستند، بروزرسانی متقابل را انجام ندهید.
                                                                                      if (!lockedState) return;
                
                                                                                      // انتخاب می‌کند که آیا مقدار Slider دیگری را افزایش یا کاهش دهد.
                                                                                      var a = slider1 === slider ? 0 : 1;
                
                                                                                      // معکوس کردن a
                                                                                      var b = a ? 0 : 1;
                
                                                                                      // مقدار اسلایدر را جابه‌جا کنید.
                                                                                      value -= lockedValues[b] - lockedValues[a];
                
                                                                                      // مقدار را تنظیم کنید
                                                                                      slider.noUiSlider.set(value);
                                                                                      }
                
                                                                                      noUiSlider.create(slider1, {
                                                                                      start: 60,
                
                                                                                      // غیرفعال کردن انیمیشن روی تنظیم مقدار،
                                                                                      // بنابراین اسلایدرها فوری واکنش نشان می‌دهند.
                                                                                      animate: false,
                                                                                      range: {
                                                                                           min: 50,
                                                                                           max: 100
                                                                                      }
                                                                                      });
                
                                                                                      noUiSlider.create(slider2, {
                                                                                      start: 80,
                                                                                      animate: false,
                                                                                      range: {
                                                                                           min: 50,
                                                                                           max: 100
                                                                                      }
                                                                                      });
                
                                                                                      if (slider1 && slider2) {
                                                                                      slider1.noUiSlider.on('update', function (values, handle) {
                                                                                           slider1Value.innerHTML = values[handle];
                                                                                      });
                                                                                      slider2.noUiSlider.on('update', function (values, handle) {
                                                                                           slider2Value.innerHTML = values[handle];
                                                                                      });
                
                
                                                                                      function setLockedValues() {
                                                                                           lockedValues = [
                                                                                                Number(slider1.noUiSlider.get()),
                                                                                                Number(slider2.noUiSlider.get())
                                                                                           ];
                                                                                      }
                
                                                                                      slider1.noUiSlider.on('change', setLockedValues);
                                                                                      slider2.noUiSlider.on('change', setLockedValues);
                
                                                                                      slider1.noUiSlider.on('slide', function (values, handle) {
                                                                                           crossUpdate(values[handle], slider2);
                                                                                      });
                
                                                                                      slider2.noUiSlider.on('slide', function (values, handle) {
                                                                                           crossUpdate(values[handle], slider1);
                                                                                      });
                                                                                      }
                
                                                                                 
                                                                            
راهنمای ابزار#
                                                                                 
                                                                                      <div class="slider" id="slider-merging-tooltips"></div>
                                                                                 
                                                                            
                                                                                 
                                                                                      var mergingTooltipSlider = document.getElementById('slider-merging-tooltips');
                                                                                      if (mergingTooltipSlider) {
                                                                                      noUiSlider.create(mergingTooltipSlider, {
                                                                                           start: [20, 75],
                                                                                           connect: true,
                                                                                           tooltips: [true, true],
                                                                                           range: {
                                                                                                'min': 0,
                                                                                                'max': 100
                                                                                           }
                                                                                      });
                
                                                                                      mergeTooltips(mergingTooltipSlider, 5, ' - ');
                                                                                      }
                
                                                                                      /**
                                                                                      * @param slider HtmlElement با اسلایدر راه‌اندازی شده
                                                                                      * @param threshold حداقل نزدیکی (در درصد) برای ادغام راهنمای ابزار
                                                                                      * @param separator رشته‌ای که راهنمای ابزار را به هم پیوند می‌دهد
                                                                                      */
                                                                                      function mergeTooltips(slider, threshold, separator) {
                
                                                                                      var textIsRtl = getComputedStyle(slider).direction === 'rtl';
                                                                                      var isRtl = slider.noUiSlider.options.direction === 'rtl';
                                                                                      var isVertical = slider.noUiSlider.options.orientation === 'vertical';
                                                                                      var tooltips = slider.noUiSlider.getTooltips();
                                                                                      var origins = slider.noUiSlider.getOrigins();
                
                                                                                      // راهنمای ابزار را به عنصر مبدا منتقل کنید. استایل شیت پیش‌فرض این را مدیریت می‌کند.
                                                                                      tooltips.forEach(function (tooltip, index) {
                                                                                           if (tooltip) {
                                                                                                origins[index].appendChild(tooltip);
                                                                                           }
                                                                                      });
                                                                                      if (slider)
                                                                                           slider.noUiSlider.on('update', function (values, handle, unencoded, tap, positions) {
                
                                                                                                var pools = [
                                                                                                     []
                                                                                                ];
                                                                                                var poolPositions = [
                                                                                                     []
                                                                                                ];
                                                                                                var poolValues = [
                                                                                                     []
                                                                                                ];
                                                                                                var atPool = 0;
                
                                                                                                // راهنمای ابزار اول را به اولین استخر اختصاص دهید، اگر راهنمای ابزار تنظیم شده باشد
                                                                                                if (tooltips[0]) {
                                                                                                     pools[0][0] = 0;
                                                                                                     poolPositions[0][0] = positions[0];
                                                                                                     poolValues[0][0] = values[0];
                                                                                                }
                
                                                                                                for (var i = 1; i < positions.length; i++) {
                                                                                                     if (!tooltips[i] || (positions[i] - positions[i - 1]) > threshold) {
                                                                                                          atPool++;
                                                                                                          pools[atPool] = [];
                                                                                                          poolValues[atPool] = [];
                                                                                                          poolPositions[atPool] = [];
                                                                                                     }
                
                                                                                                     if (tooltips[i]) {
                                                                                                          pools[atPool].push(i);
                                                                                                          poolValues[atPool].push(values[i]);
                                                                                                          poolPositions[atPool].push(positions[i]);
                                                                                                     }
                                                                                                }
                
                                                                                                pools.forEach(function (pool, poolIndex) {
                                                                                                     var handlesInPool = pool.length;
                
                                                                                                     for (var j = 0; j < handlesInPool; j++) {
                                                                                                          var handleNumber = pool[j];
                
                                                                                                          if (j === handlesInPool - 1) {
                                                                                                          var offset = 0;
                
                                                                                                          poolPositions[poolIndex].forEach(function (value) {
                                                                                                               offset += 1000 - value;
                                                                                                          });
                
                                                                                                          var direction = isVertical ? 'bottom' : 'right';
                                                                                                          var last = isRtl ? 0 : handlesInPool - 1;
                                                                                                          var lastOffset = 1000 - poolPositions[poolIndex][last];
                                                                                                          offset = (textIsRtl && !isVertical ? 100 : 0) + (offset / handlesInPool) - lastOffset;
                
                                                                                                          // این راهنمای ابزار را بر روی دستگیره‌های تحت تاثیر قرار بگیرید
                                                                                                          tooltips[handleNumber].innerHTML = poolValues[poolIndex].join(separator);
                                                                                                          tooltips[handleNumber].style.display = 'block';
                                                                                                          tooltips[handleNumber].style[direction] = offset + '%';
                                                                                                          } else {
                                                                                                          // این راهنمای ابزار را پنهان کنید
                                                                                                          tooltips[handleNumber].style.display = 'none';
                                                                                                          }
                                                                                                     }
                                                                                                });
                                                                                           });
                                                                                      }
                
                                                                                 
                                                                            
محدودیت‌های نرم#
                                                                                 
                                                                                      <div  class="slider" id="soft"></label>
                                                                                 
                                                                            
                                                                                 
                                                                                      var softSlider = document.getElementById('soft');
                                                                                      if (softSlider) {
                                                                                      noUiSlider.create(softSlider, {
                                                                                           start: 50,
                                                                                           range: {
                                                                                                min: 0,
                                                                                                max: 100
                                                                                           },
                                                                                           pips: {
                                                                                                mode: 'values',
                                                                                                values: [20, 80],
                                                                                                density: 4
                                                                                           }
                                                                                      });
                
                                                                                      softSlider.noUiSlider.on('change', function (values, handle) {
                                                                                           if (values[handle] < 20) {
                                                                                                softSlider.noUiSlider.set(20);
                                                                                           } else if (values[handle] > 80) {
                                                                                                softSlider.noUiSlider.set(80);
                                                                                           }
                                                                                      });
                                                                                      }
                                                                                 
                                                                            
© لارکن. ساخته شده توسط تکزا
تنظیمات تم
طرح رنگ
رنگ نوار بالایی
رنگ منو
اندازه سایدبار