조건이 참이면 경고 창이 뜨는 if 문이 있는데 아무 일도 일어나지 않습니다.간단한 JS 문이 작동하지 않는 경우
변수의 값을 가져 오지 못하고 변수가 결과라는 div에 표시되는 것과 같습니다.
JS :
droppables이 시작 된 후에 당신의 상태는 즉시 한 번 실행되는 것 같습니다$x = 0;
$(window).load(function() {
$(".DragItem").draggable({
revert: 'invalid',
helper: "clone"
});
$(".drop1").droppable({
accept: '#1',
activeClass: 'DropTargetValid',
drop: function (ev, ui) {
var id = $(ui.draggable).attr("id");
$(ev.target).append(ui.draggable.clone());
$("#" + id).draggable('disable');
$x++;
document.getElementById("result").innerHTML = $x;
}
});
$(".drop2").droppable({
accept: '#2',
activeClass: 'DropTargetValid',
drop: function (ev, ui) {
var id = $(ui.draggable).attr("id");
$(ev.target).append(ui.draggable.clone());
$("#" + id).draggable('disable');
$x++;
document.getElementById("result").innerHTML = $x;
}
});
$(".drop3").droppable({
accept: '#3',
activeClass: 'DropTargetValid',
drop: function (ev, ui) {
var id = $(ui.draggable).attr("id");
$(ev.target).append(ui.draggable.clone());
$("#" + id).draggable('disable');
$x++;
document.getElementById("result").innerHTML = $x;
}
});
$(".drop4").droppable({
accept: '.DragItem',
activeClass: 'DropTargetValid',
drop: function (ev, ui) {
var id = $(ui.draggable).attr("id");
$(ev.target).append(ui.draggable.clone());
$("#" + id).draggable('disable');
}
});
});
if ($x == 3) {
// code to be executed if condition is true
alert('Well Done');
} else {
// code to be executed if condition is false
}
글쎄, 당신의'if' 절은 당신'(윈도우) 밖에 당신의 변수의 값이 여전히 문이 말한 정확히하고있는 0 –
될 때 실제로, 그것은 전에 실행 .load'로 : * 시동시 여전히 0 * 인 동안 한 번 확인하십시오. 값을 변경하는 각 이벤트 * 후 상태 *를 확인하거나 타이머를 사용하여 정기적으로 상태를 "폴링"해야합니다. –
코드의 용도 *는 무엇입니까? 훨씬 간단한 방법으로이 작업을 수행 할 수 있습니다. 조건에 의한 –