Мигание при смене кадров
Здравствуйте. Пытаюсь заменить имеющийся облёт дом, написанный на flash на аналогичный по функционалу, с использованием jquery. Сделать облёт удалось
http://ярославский27.рф/fly1.php Но при нажатии на левую стрелку происходит мигание, тогда как при нажатии на правую такого эффекта нет. Как устранить мигание? |
paveltkachev,
выкинуть строку 108 $('div.houseframe').hide(); или если нужно скрывать всё кроме текущего div |
Спасибо огромное!
|
В IE9 кадры мигают, пока не будет сделан полный облёт вокруг дома. На втором круге всё уже без миганий. В других браузерах такой проблемы нет. Можно ли это победить?
|
paveltkachev,
возможно картинки неуспели подгрузится - воспроизвести мигание неудалось . |
А можно сделать какой-то предзагрузчик, чтобы начинать отображение при гарантированно загруженных картинках?
|
paveltkachev,
прогоните циклом создание картинки с нужным src - на onload последней поставьте появление кнопок влево вправо -- неплохобы фоном поставить менее ёмкую картинку на время загрузки -- или может сжать те что есть. загрузчиков полно в инете. и тут на форуме . |
Единственный найденный мною предзагрузчик - это вот этот
function preloadImages() { for(var i = 0; i<arguments.length; i++) $("<img />").attr("src", arguments[i]); } Но тут нет onload. |
paveltkachev, можно и без jquery строки 14, 15 и 25 вам ненужны -- да и в код выше можно добавить load.
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .gallery img{ width: 150px; height: 100px; } </style> <script> window.onload = function () { var imgs = document.querySelectorAll('.gallery img'); var arr_src = ['http://www.anypics.ru/pic/201302/1366x768/anypics.ru-59453.jpg', 'http://www.wall-papers.ru/main.php?g2_view=core.DownloadItem&g2_itemId=38417&g2_serialNumber=3', 'http://w7t.ru/zooms/7da1/7/6168262b44.jpg', 'http://imgs.mi9.com/uploads/cartoon/4834/disney-cartoon-wallpaper_1366x768_88837.jpg', 'http://biskvitka.net/uploads/posts/2011-05/thumbs/1306582219_12.jpg'],len = arr_src.length; for (var i = 0; i < arr_src.length; i++) { var img = document.createElement('img'); img.onload = (function (a) { return function () { imgs[a].src = this.src; len--; !len && alert('complete') } })(i); img.src = arr_src[i]; img.complete && img.onload() } } </script> </head> <body> <div class="gallery"> <img src="http://ozemanage.com/images/loading.gif" alt="" /> <img src="http://ozemanage.com/images/loading.gif" alt="" /> <img src="http://ozemanage.com/images/loading.gif" alt="" /> <img src="http://ozemanage.com/images/loading.gif" alt="" /> <img src="http://ozemanage.com/images/loading.gif" alt="" /> </div> </body> </html> |
Предзагрузчик не помогает. Помогла замена jQuery на 1.11
|
Часовой пояс GMT +3, время: 21:50. |