Роман Денискин: Так я уже писал, что скрипт работает со старым изображением, хотя на экране уже новое. Нужно и скрипт направить на работу с новым изображением. jsfiddle.net/awkxyepg вот то, что вам нужно в модульном подходе. Мой изначальный пример был написан простынёй под конкретные условия, такой код сложно развивать. В этом же случае такая проблема почти отсутствует, но не понимая как работают прототипы с конструкторами не получится и разобраться в самом скрипте. Так что сомнительно стоит ли вам использовать эту наработку, пока не разберётесь целиком.
Роман Денискин: CSS подстраивает размер, я лишь меняю width="100%" на height="100%" в зависимости от primaryDirection. Функция из моего скрипта не вызывается потому, что она определена в другой области видимости и доступна только из неё. Чтобы размеры учитывались нужно при смене изображения обновлять переменную image и в моём скрипте.
Роман Денискин: setInterval(function() {/***/}, 20) и внутри него определяется в какую сторону надо сдвигать картинку перед, непосредственно, самим сдвигом. Статичной может быть либо потому, что соотношение пропорций близко к 1 и сдвиг отменяется, либо браузер не воспринимает программный scrollTop/scrollLeft у элемента с overflow: hidden. Во втором варианте я сомневаюсь, но если проблема именно в способе сдвига, надо просто изменить scroll на margin, но это потребует лишнего кода.
Роман Денискин: jsfiddle.net/0hwrb4he/1 Без дёрганья, если похимичить, можно сделать зависимость скорости сдвига от разницы пропорций по схожему принципу. Что вы имели ввиду под размером экрана я не понял.
Алексей Ostin: В конце обоих обработчиков container сразу очищается, чтобы не загрязнять расчёты при последующих кликах нагрузкой на память. Можете закомментировать строки container.innerHTML = ""; если хотите.
Денис Иванов: Левый операнд оператора in должен быть строкой, подразумевающей название свойства. В вашем примере null автоматически приводится к ней и получается "null". Divs это массив и такое свойство у него отсутствует, в итоге ваша проверка внутри while возвращает false и тело цикла ни разу не выполняется: вставки нет.
Возможно вы имели ввиду это: jsfiddle.net/fydctsya/4, но, как я и говорил, ничего хорошего из этого не получается.
Иван Ильясов: jsfiddle.net/ouka4f3b/3 Ещё один вариант, на мой взгляд максимально универсальный, но с регуляркой. Находит набор из 1 и более цифр, расположенный между точкой и слешем или концом строки.
Легко написать/дописать самому, если представить каждый вопрос отдельным элементом массива (например строкой с html кодом, что в php, что в javascript'е) и на каждый вызов страницы перемешивать его перед выводом в документ. Вообще не помешало бы узнать в каком формате ваш заранее созданный тест.
Слишком простая задача, чтобы по ней писали туториалы. На window вешается обработчик события resize и внутри него в общих чертах:
if ($(".menu-wrapper").width() > 400) /* ... */;
else /* ... */;
nluparev: Можно через них, но тогда min-width не нужен. Просто меняется ширина .menu-wrapper с процентов на пиксели и ставится фиксированный отступ у #main.