简体   繁体   English

范围ui滑块

[英]Range ui Slider

I have problems viewing the range uislider on ios and android In an application with meteor and cordova, in the following video I leave to the detail. 我在查看ios和android上的range uislider时遇到问题。在具有流星和cordova的应用程序中,在以下视频中,我将详细介绍。 When moving the slider in the browser works but in ios and android I can not visualize the ranges obtained. 当在浏览器中移动滑块时可以,但是在ios和android中,我无法可视化获得的范围。 在此处输入图片说明

I have the following code: Try with jquery as you can see that the code is commented and I did not get results 我有以下代码:尝试使用jquery,因为您可以看到该代码已注释并且没有得到结果

 Template.range.onRendered(function () { $(function () { $('#slider-edad').noUiSlider({ start: [18, 30], step: 1, range: { 'min': 18, 'max': 60 } }); }); $(function () { $('#range').noUiSlider({ start: [10], step: 2, range: { 'min': 10, 'max': 100 } }); }); // km(); }); function km(instance) { // $('.km-range').html(''); // Session.set("Kilometros", ''); var d1 = $('#range').val(); var d0r = parseInt(d1); console.log('Kilometros: ', d0r); instance.km1.set(d0r); // Session.set("Kilometros", d0r); // $('.km-range').html(d0r, 'Km'); } Template.range.events({ 'click #range': function (event, instance) { console.log('click'); km(instance); }, }); 

After a long chat and many tries it turned out to be the click event, that makes the noUiSlider not work on mobile. 经过长时间的聊天并尝试了许多之后,原来是单击事件,这使noUiSlider无法在移动设备上运行。

So checking on the noUiSlider events page and putting this into some reactive variables we got the following code running: 因此,在noUiSlider事件页面上进行检查并将其放入一些反应变量中,我们运行了以下代码:

import { Template } from 'meteor/templating';
import { ReactiveDict } from 'meteor/reactive-dict';

//import template html file

Template.findme.onCreated(function (){
    this.state = new ReactiveDict();

    // set start values
    this.state.set("km", 10);
    this.state.set("agemin", 18);
    this.state.set("agemax", 30);
});


Template.findme.onRendered(function() {

    if (!this._rendered) {
        this._rendered = true;


        // create slider
        $('#slider-edad').noUiSlider({
            start: [ 18, 30 ],
            step: 1,
            range: {
                'min': 18,
                'max': 60
            }
        })

        $('#range').noUiSlider({
            start: [ 10 ],
            step: 2,
            range: {
                'min': 10,
                'max': 100
            }
        });
    }

});

Template.findme.helpers({
    KilosM: function(){
        return Template.instance().state.get("km");
    },

    agemin: function(){
        return Template.instance().state.get("agemin");
    },

    agemax: function(){
        return Template.instance().state.get("agemax");
    },
});


Template.findme.events({
   'slide #slider-edad':function(event,instance) {
       var d2= $('#slider-edad').val()
       var d0 = parseInt(d2[0]);
       var d1 = parseInt(d2[1]);
       console.log(d0,d1);
       instance.state.set("agemin", d0);
       instance.state.set("agemax", d1);
   } ,

    'slide #range': function(event , instance) {
        var d1= $('#range').val();
        var d0r = parseInt(d1);
        console.log('Kilometros: ',d0r);
        instance.state.set("km", d0r);
    },
});

and the html template being: 和html模板是:

 <div class="">
    <span class="edad-range0">{{agemin}}</span>
    <span class="edad-title"> Age </span>
    <span class="edad-range1">{{agemax}}</span><br>
    <div id="slider-edad"></div><br><br>
  </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM