 |
|

04.09.2022, 14:41
|
|
Познающий
Регистрация: 05.08.2022
Сообщений: 32
С нами:
1988298
Репутация:
0
|
|
Всем привет! Помогите компетентные, кто в курсе как заставить 3D панораму подгружаться сразу.
Пример если я иду в объект напрямую через страницу - Республиканская инфекционная больница она работает и подгружается сразу.
Если же я захожу в объект через главную страницу вкладка> проекты - Проекты то, панорама срабатывает только после перезагрузки страницы внутри объекта.
|
|
|

04.09.2022, 16:29
|
|
Новичок
Регистрация: 09.03.2017
Сообщений: 0
С нами:
4831039
Репутация:
1976
|
|
@Wiz, при переходе Главная -> Проекты -> 'Какой-то проект', страница загружается с таким разметкой
HTML:
Если обновить страницу
HTML:
проблема может быть либо в кривом плагине jQuery.threesixty, либо в неправильной его настройке
jquery.threesixty.js:
начните с отладки var pic = $(this);, что это за элемент и почему его ширина/высота при первом переходе на страницу равны 0
возможно у родительского элемента проблемы с высотой/шириной
Видел подобный плагин у Spectre css
360-Degree Viewer - Experimentals - Spectre.css CSS Framework
360-Degree Viewer is an interactive product photo viewer. It is built in pure CSS. Spectre.css CSS Framework is a lightweight, responsive and modern CSS framework for faster and extensible development.
picturepan2.github.io
|
|
|

04.09.2022, 16:59
|
|
Познающий
Регистрация: 05.08.2022
Сообщений: 32
С нами:
1988298
Репутация:
0
|
|
|
|
|

04.09.2022, 21:55
|
|
Новичок
Регистрация: 09.03.2017
Сообщений: 0
С нами:
4831039
Репутация:
1976
|
|
@Wiz, попробуйте так
CSS:
Код:
#product1
{
display
:
block
;
width
:
100%
;
height
:
auto
;
}
|
|
|

04.09.2022, 23:22
|
|
Постоянный
Регистрация: 07.04.2015
Сообщений: 960
С нами:
5842272
Репутация:
1039
|
|
Если придерживаться именно того же подхода, то div`у задавать конкретные размеры нужно уже после того, как картинки загружены, а именно внутри:
JavaScript :
Код:
if
(
totalProgress
==
options
.
images
.
length
-
1
)
|
|
|

04.09.2022, 23:34
|
|
Познающий
Регистрация: 05.08.2022
Сообщений: 32
С нами:
1988298
Репутация:
0
|
|
Сообщение от Mizuwokiru
Если придерживаться именно того же подхода, то div`у задавать конкретные размеры нужно уже после того, как картинки загружены, а именно внутри:
JavaScript :
Код:
if
(
totalProgress
==
options
.
images
.
length
-
1
)
JavaScript :
Код:
$
.
each
(
options
.
images
,
function
(
index, record
)
{
var
o
=
$
(
""
)
.
attr
(
"src"
,
record
)
.
load
(
function
(
)
{
if
(
index
>
pic
.
data
(
"tempIndex"
)
)
{
pic
.
data
(
"tempIndex"
,
index
)
pic
.
attr
(
"src"
,
$
(
this
)
.
attr
(
"src"
)
)
}
var
progress
=
pic
.
parent
(
)
.
find
(
".progressBar"
)
;
totalProgress
++
;
var
maxsize
=
pic
.
parent
(
)
.
find
(
".progressBg"
)
.
width
(
)
;
var
newWidth
=
(
totalProgress
/
options
.
images
.
length
)
*
maxsize
;
progress
.
stop
(
true
,
true
)
.
animate
(
{
width
:
newWidth
}
,
250
)
;
if
(
totalProgress
==
options
.
images
.
length
-
1
)
{
loaded
=
true
;
pic
.
parent
(
)
.
find
(
".overlay, .progressBar, .progressBg"
)
.
remove
(
)
;
}
}
)
;
cache
.
push
(
o
)
;
}
)
;
}
)
Сообщение от òbi
@Wiz, попробуйте так
CSS:
Код:
#product1
{
display
:
block
;
width
:
100%
;
height
:
auto
;
}
Слишком просто), не работает, к сожалению.
|
|
|

05.09.2022, 00:49
|
|
Постоянный
Регистрация: 20.01.2016
Сообщений: 403
С нами:
5428363
Репутация:
408
|
|
Размер блока задается исходя из размера первого изображения в массиве, скорее всего изображение просто не успевает прогрузится, чтобы можно было получить его размер. Даже если точку останова поставить и продолжить, то все прогружается. Ну это так на вскидку, без доступа к коду особо нечего дебажить.
Сообщение от Wiz
то, панорама срабатывает только после перезагрузки страницы внутри объекта.
В подтверждение моих слов, обнови страницу через ctrl+f5 панорама так же не грузится.
|
|
|

05.09.2022, 00:54
|
|
Познающий
Регистрация: 05.08.2022
Сообщений: 32
С нами:
1988298
Репутация:
0
|
|
Сообщение от L2Banners
Размер блока задается исходя из размера первого изображения в массиве, скорее всего изображение просто не успевает прогрузится, чтобы можно было получить его размер. Даже если точку останова поставить и продолжить, то все прогружается. Ну это так на вскидку, без доступа к коду особо нечего дебажить.
В подтверждение моих слов, обнови страницу через ctrl+f5 панорама так же не грузится.
Через ctrl+f5 со второго раза заводиться.
|
|
|

05.09.2022, 01:01
|
|
Постоянный
Регистрация: 20.01.2016
Сообщений: 403
С нами:
5428363
Репутация:
408
|
|
Сообщение от Wiz
Через ctrl+f5 со второго раза заводиться.
Это все просто случайность, иногда скрипт выполняется чуть позже и изображение успевает загрузится, в общем такой подход неправильный, скрипт должен выполняться только тогда когда изображение загружено, по сути нужно найти изображение которое задает размер, повесть на него событие image.onload по выполнению которого запустить инициализацию
https://i.gyazo.com/5e27e30cf392eee5...fc6d164a2b.mp4
|
|
|

05.09.2022, 01:04
|
|
Познающий
Регистрация: 05.08.2022
Сообщений: 32
С нами:
1988298
Репутация:
0
|
|
Сообщение от L2Banners
Это все просто случайность, иногда скрипт выполняется чуть позже и изображение успевает загрузится, в общем такой подход неправильный, скрипт должен выполняться только тогда когда изображение загружено, по сути нужно найти изображение которое задает размер, повесть на него событие image.onload по выполнению которого запустить инициализацию
https://i.gyazo.com/5e27e30cf392eee5...fc6d164a2b.mp4
Да, тоже заметил, что просто случайность.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|