Если вы щелкнете по телу html один раз и дождитесь, пока мяч не заштрихован, он станет прекрасным. Однако, если вы нажмете 2 раза, вы заметите, что мяч движется быстрее. Когда вы снова нажимаете на тело, чтобы вернуть мяч, он все же быстрее, чем должно быть. Зачем? http://jsfiddle.net/44nwt/10/Почему этот код setTimeout создается и не заканчивается?
-edit- in firefox на моей странице (i havent try on jsfiddle) Я замечаю, что функция func называется повторяемо даже после того, как мяч покинул экран и был удален. Почему он не существует?
Отлично. Я как-то понял, что проблема была в том, что я пытался создать несколько (не правильно, но мне это не нравилось, просто интересно об эффекте), но не понимал, почему, когда кто-то исчез, другой не начнет двигаться и не удалит себя (я предполагаю, что он перемещает первый найденный). Я думаю, когда я исправил проблему, зная, что проблема не помогает – 2010-10-31 18:08:11
На самом деле, вы не видели отдельного движения, потому что 'MoveCode()' действовал сразу по * всем * экземплярам '.ball'. Селекторы jQuery ('$ ('. ball')') всегда создают * коллекцию *, содержащую все элементы, которые соответствуют селектору (не обязательно одному). Когда коллекция содержит несколько элементов, большая часть свойства * getters * ('.css ('left')') будет просто запрашивать запрашиваемое значение из * первого элемента *. Хотя свойство * setters * ('.css ('left', '60px')') будет устанавливать значение в * все * элементы в списке. [пример для иллюстрации] (http://jsfiddle.net/km26j/) – Lee