Если вы уверены, что причиной проблемы является запуск этого сценария на экранах мобильных устройств, вы можете вызывать скользящий сценарий только на рабочих столах с этим кодом:
if ( $(window).width() > 739) {
//Desktop scripts
}
else {
//mobile scripts
}
Вы можете изменить ширину экрана устройств, с которыми вы хотите работать в сценарии, изменив 739
. После этого ваш скрипт будет работать только на экранах размером более 739 пикселей или по вашему выбору.
Обновление
Если вы хотите, чтобы после изменения размера все работало правильно, сделайте небольшой трюк.
Лично я использую этот метод, потому что это единственный способ, который позволяет вам быть уверенным в ошибках и проблемах. Хитрость заключается в перезагрузке страницы после изменения размера.
Во многих случаях это не дорого, потому что большинство вещей обналичивается и не требует повторной загрузки. Есть много способов сделать это, но я использую приведенный ниже, потому что он хорошо работает, прост и короток:
window.onresize = function () {
location = location;
}
Вам просто нужно добавить эти строки в конец вашего файла скрипта. После изменения размера все снова будет хорошо работать.
Как это работает?
Когда вы изменяете размер окна, генерируется событие javascript. В последнем коде мы переопределили прослушиватель этого события. Поэтому, когда пользователь изменит размер окна, код location = location;
будет выполнен.
Что означает эта строка? объект location является свойством объекта window
и хранит информацию о текущем URL окна. Когда вы изменяете location
window
, страница браузера перезагружается и получает новый window
нового location
( больше информации о местоположении ).
То, что мы здесь сделали, это присвоение location
текущего location
. Поэтому браузер считает, что у нас есть запрос на перенаправление, и перезагружает страницу. Но поскольку новый location
является тем же объектом, что и предыдущий, страница будет перезагружаться вместо перенаправления в другое место.