Согласно документации jquery [1] .ready () действительно выполняется только после полной загрузки элемента.Таким образом, ваша проблема может заключаться в том, что есть определенное время, пока ваш скрипт изменения размера завершит свою работу.(особенно если другие вещи должны обрабатываться одновременно). Один из способов решить эту проблему - просто скрыть изображение, пока не будет выполнено изменение размера.Используйте функцию show [2] в конце вашего метода масштабирования и первоначально установите display="none"
в вашем CSS для #img_bg
для этой цели.
Однако вы должны думать о своем целомнастроить.Никогда не бывает умно загрузить большое изображение, а затем повторно изменить его с помощью javascript, если вы используете только меньшее.Тогда, возможно, было бы лучше изначально иметь меньшую (чтобы сохранить пропускную способность и, следовательно, увеличить скорость загрузки)
И другая мысль состоит в том, что это изменение размера, скорее всего, может быть достигнуто с умным использованием некоторого CSS вместо javascript,Но, следовательно, вам нужно будет предоставить более подробную информацию о том, как на самом деле работает ваш скрипт и что он делает.
[1] http://api.jquery.com/ready/
[2] http://api.jquery.com/show/