简单jquery选择器脚本中出现意外行为
Unexpected behavior in simple jquery selector script
EDIT:如果有人因为某种原因需要这个脚本,我会制作一个更干净、完全可用的版本:https://jsfiddle.net/qmgob1d5/3/
我有一个jquery脚本,它应该以从到的方式突出显示元素。它也应该倒过来工作。这是工作小提琴:https://jsfiddle.net/qmgob1d5/
它运行良好,直到我选择零(第一个框(作为第二个元素。那么var Start = Math.min(ClickOne, ClickTwo || 16);
似乎没有按预期工作。出了什么问题?
这是脚本:
var FirstClick;
var ClickOne;
var ClickTwo;
$('.ColorPreview').on('click',function() {
var ColorId = $(this).attr('id');
ColorId = Number(ColorId.split('_')[1]);
if (!FirstClick) {
//reset function
for (var i = 0; i < 16; i++) {
$('#Color_' + i).removeClass('SelectColor'); }
var ClickTwo;
ClickOne = ColorId;
FirstClick = true;
}
else {
ClickTwo = ColorId;
FirstClick = false; }
console.log('ClickOne ' + ClickOne)
console.log('Clicktwo ' + ClickTwo)
var Start = Math.min(ClickOne, ClickTwo || 16);
var End = Math.max(ClickOne, ClickTwo || 0);
console.log('start ' + Start)
console.log('end ' + End)
for (var i = Start; i <= End; i++) {
$('#Color_' + i).addClass('SelectColor'); }
});
当ClickTwo
为0
时,表达式ClickTwo || 16
将计算为16
。
尝试
var Start = Math.min(ClickOne, ClickTwo == null ? 16 : ClickTwo);
或者在函数开始时将ClickTwo
初始化为16
。
相关文章:
- 意外的标识符错误jQuery
- jQuery$.getJSON抛出意外令牌
- 使用ajax的输入jquery意外结束
- jquery ajax”;SyntaxError:意外的输入结束“;基于有效的JSON
- 使用带有自定义对象作为属性的jQuery.extend时出现意外行为
- 应用jQuery动画时出现意外的抖动效果
- Jquery脚本未在运行时加载编辑:意外的令牌
- jQuery Ajax+经典ASP返回错误'意外的输入结束'
- Jquery .ajax() SyntaxError: 意外的令牌 N.
- 在事件上使用 jquery 时出现意外令牌
- jQuery.ajax Uncatch SyntaxError: 意外标识符
- 在 jQuery 中更改多个背景的意外非法令牌
- jQuery after() uncatch SyntaxError: 意外令牌 ILLEGAL
- IE10和11,jQuery的意外行为动画化和溢出
- Jquery意外标记<
- Javascript/JQuery-Chrome意外令牌
- 错误:'这'对象不正确;在JQuery中单击事件-单击时的意外行为
- 对jQuery中IE8的方法或属性访问的意外调用
- 对方法或属性访问的意外调用.在JQUERY
- Jquery DataTables服务器端语法错误:意外的标记<