Основная причина, по которой это ничего не делает, заключается в том, что вы изменяете размер контейнера только с помощью jquery. kinetic заполняет этот контейнер элементами canvas. Он абсолютно позиционирует эти элементы холста для достижения эффекта наложения, который затем позволяет менять порядок наложения во время анимации. Эти абсолютно позиционированные элементы canvas получают свои размеры при установке нового kinetic.Stage ()
У вас нет набора правил css для exampleCanvas, попробуйте что-то вроде этого:
#exampleCanvas{ overflow: hidden; width: 500px; height: 200px; border: 2px solid red; position: relative; }
Кроме того, у kineticjs api есть метод .setSize (), поэтому stage.setSize (ширина, высота) может стать шагом к решению. Итак, в анимации обратного вызова используйте stage.setSize (300, 200);
Если это не дает желаемого результата, вы можете настроить таргетинг на элементы холста в вашем контейнере следующим образом:
$("#exampleCanvas").children("canvas").animate( ... );