Помогите со скриптом js - в Мозиле некорректно работает.

12 3
[Удален]
1800

Всем привет. На сайте реализован простейший скрипт - при нажатии на область вылазит окошечко с position: absolute, в этом окошечке видео-плеер. Но проблемка в том, что при закрытии этого окошечка оно визуально то закрывается, а звук от видео продолжает идти :gm:. Это наблюдается в браузере Мозила, в Хроме же работает без проблем.

Подскажите пожалуйста что нужно добавить в код, чтоб и в мозиле тоже стало корректно обрабатываться?

Вот сам код - довольно простой, так как в js я не особо силен:

$('.space').click(

function() {

$(this).find('.block1, .block2, .block3').fadeIn();

});

$('.block3').click(

function() {

$('.block1, .block2, .block3').fadeOut();

return false;

});

Надеюсь на вашу помощь. Всем спасибо!

uberchel
На сайте с 16.01.2010
Offline
70
#1

mrxmry, так все должно работать, если конечно плеер находится точно в теге с классом .block3.

$('.space').click(
function() {
$(this).find('.block1, .block2, .block3').fadeIn();
});

$('.block3').click(
function() {
$('.block1, .block2, .block3').fadeOut();
$('iframe,object', this).remove();
return false;
});
[Удален]
#2
uberchel:
mrxmry, так все должно работать, если конечно плеер находится точно в теге с классом .block3.

$('.space').click(

function() {
$(this).find('.block1, .block2, .block3').fadeIn();
});

$('.block3').click(
function() {
$('.block1, .block2, .block3').fadeOut();
$('iframe,object', this).remove();
return false;
});

Оо Спасибо. Сейчас попробую. Отпишусь тут о результатах.

---------- Добавлено 03.02.2013 в 11:13 ----------

Не работает, но и плеер не в .block3, я попробую объяснить:

В строке

$(this).find('.block1, .block2, .block3').fadeIn();

});

block1 - это область с плеером

block2 - кнопочка "закрыть"

block3 - background.

То есть вот так полный код выглядить, uberchel может вы подскажите что конкретно тут изменить:

$('.seriesshort').click(

function() {

$(this).find('.player, .close, .background').fadeIn();

});

$('.close').click(

function() {

$('.player, .close, .background').fadeOut();

return false;

});

uberchel
На сайте с 16.01.2010
Offline
70
#3

$('.space').click(

function() {

$(this).find('.block1, .block2, .block3').fadeIn();

});

$('.block3').click(

function() {

$('.block1, .block2, .block3').fadeOut();

$('iframe,object', '.block1').remove();

return false;

});

[Удален]
#4

Cпасибо большое uberchel, вышеуказанная проблема решилась данным способом, но появилась другая - так как block1 мы remove'нули, то при следующем нажатии он уже не появляется. Т.е. нужно обновить страницу чтоб он появился опять. Значит надо что-то добавить в код с fadeIn'ом, что бы добавляло опять этот блок при новом нажатии?

IL
На сайте с 20.04.2007
Offline
435
#5

Вместо удаления можно очистить

$('.block1').html('');
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
[Удален]
#6
ivan-lev:
Вместо удаления можно очистить
$('.block1').html('');

Спасибо. Попробовал, но происходит тоже самое, что и при удалении - т.е. при новом нажатии этот очищенный блок не появляться уже. Надо что-то прописать в коде, где fadeIn, чтоб он опять добавлялся при новом нажатии.

uberchel
На сайте с 16.01.2010
Offline
70
#7

вы бы полный листинг дали, код окна, код js который добавляет плеер.

[Удален]
#8
uberchel:
вы бы полный листинг дали, код окна, код js который добавляет плеер.

<div class="seriesshort">

<div align="center">ТЕКСТ</div>

<div class="background"></div>

<div class="seriesplayer">

КОД ПЛЕЕРА

</div>

<div class="close"></div>

</div>

JS:

$('.seriesshort').click(

function() {

$(this).find('.seriesplayer, .close, .background').fadeIn();

});

$('.close').click(

function() {

$('.seriesplayer, .background, .close').fadeOut();

$('iframe,object', '.seriesplayer').remove();

return false;

});

Вот как-то так. И получается, что если мы remove или очищаем .seriesplayer - он больше не появляется на странице, а надо бы чтоб появлялся....:)

И этих файлов на странице несколько.

uberchel
На сайте с 16.01.2010
Offline
70
#9

<div class="seriesshort">
<div align="center">ТЕКСТ</div>
<div class="background"></div>
<div class="seriesplayer">
КОД ПЛЕЕРА
</div>
<div class="close"></div>
</div>

я так понял, что таких блоков не 1, и у них всех display"none; так ?

[Удален]
#10
uberchel:
<div class="seriesshort">
<div align="center">ТЕКСТ</div>
<div class="background"></div>
<div class="seriesplayer">
КОД ПЛЕЕРА
</div>
<div class="close"></div>
</div>


я так понял, что таких блоков не 1, и у них всех display"none; так ?

Да, все верно

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий