为什么在这段代码中for循环在Jquery选择器之前执行?
Why do for loop executes before Jquery Selector in this code?
在下面的代码中,for
循环总是先执行,jQuery选择器稍后执行。但是我想在改变选定滑块的值之后运行这个for循环
$('div[name="FirstSliderselector"]').slider('value', $("#MasterSlider").slider("value"));
var FirstSliders = $('div[name="FirstSliderselector"]');
for (var i = 0; i < FirstSliders.length; i++) {
console.log('for loop executed');
}
编辑反映对问题的新理解
你要做的是传递一个回调函数的变化事件,像这样:
我现在理解的是,当你改变滑块的值时,你想触发一个改变事件。您可以在某处通过编程设置该值:
$('div[name="FirstSliderselector"]').slider('value', $('#MasterSlider').slider('value'));
为了让你的for
循环在你这样做之后执行,你需要将一个变化事件绑定到滑块上,如下所示:
$('div[name="FirstSliderselector"]').slider({
change: function (event, ui) {
var firstSliders = $('div[name="FirstSliderselector"]'),
i;
for (i = 0; i < firstSliders.length; i += 1) {
console.log(ui.value);
}
}
});
你也可以这样做:
$('div[name="FirstSliderselector"]').on('slidechange', function (event, ui) {
var firstSliders = $('div[name="FirstSliderselector"]'),
i;
for (i = 0; i < firstSliders.length; i += 1) {
console.log(ui.value);
}
});
如果你想确保这只在数值改变是通过编程完成的时候触发,而不是在滑动块滑动之后,你的回调函数变成这样:
function (event, ui) {
if (!event.originalEvent) {
var firstSliders = $('div[name="FirstSliderselector"]'),
i;
for (i = 0; i < firstSliders.length; i += 1) {
console.log(ui.value);
}
}
}
最后,如果这些都不能满足你的需求,正如Chris GW Green所建议的那样,总有一个完成后的结构:
$.when($('div[name="FirstSliderselector"]').slider('value', $('#MasterSlider').slider('value'));).then(function () {
var firstSliders = $('div[name="FirstSliderselector"]'),
i;
for (i = 0; i < firstSliders.length; i += 1) {
console.log('for loop executed');
}
});
保证在滑动块赋值后运行for循环…
var FirstSliders = $('div[name="FirstSliderselector"]'),
MastSliderValue = $("#MasterSlider").slider("value");
function updateSliders(){
FirstSliders.slider('value', MastSliderValue);
}
$.when(
updateSliders()
).done(
function(){
for (var i = 0; i < FirstSliders.length; i++) {
console.log('for loop executed');
}
}
);
谢谢你第一次尝试-1的家伙;)这是新的
相关文章:
- 在dropdwon菜单中发出针对特定选择器jquery的问题
- 周/年选择器jQuery插件
- DOM元素的属性因选择器-jQuery而异
- 如何使用日期选择器jquery突出显示特定日期
- 如何仅使用日期选择器 Jquery 启用月份的最后几天
- 如何在日期选择器 jquery 的 Select 事件上调用 js 函数
- 如何指定多个选择器 jquery
- 在日期选择器 jQuery 中查看可用日期
- 将其与伪选择器 jquery 一起使用
- 如何将东部标准时间设置为日期选择器 (jquery ui) - 使用 javascript
- 请帮助我添加日期选择器(Jquery Ui)
- 使用缓存选择器(jQuery)选择子元素
- 选择器Jquery中的选择器
- 如何将日期选择器jquery插件添加到bootstrab
- 如何在一个选择器jQuery中显示和隐藏多个元素
- 父选择器Jquery
- 如何使用angularjs在页面加载中调用日期选择器Jquery插件
- 逆选择器jQuery
- IE中的圆角,长选择器?(jquery)
- 如何禁用和启用日期时间选择器jquery插件