Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Делаю rich banner, проблема с вызовов функции (https://javascript.ru/forum/jquery/5971-delayu-rich-banner-problema-s-vyzovov-funkcii.html)

namez 04.11.2009 22:08

Делаю rich banner, проблема с вызовов функции
 
Здравствуйте! Cильно не пинать тк мало приходится работать с javascript

В баннере на кнопку повешена функция

close.onRelease = function (): Void {
    getURL("javascript:kill();", "_self");
}


Задача отобразить на сайте баннер и после закрытия баннера не показывать неделю.
Воспользовался плагином http://plugins.jquery.com/project/cookie, с ним все ясно как работать но все-таки проблема имеет место быть в другом, вот код:


$(document).ready(function(){

  $("#flash").flash({
    src: 'banner.swf',
    width: 350,
    height: 350,
    wmode: 'transparent'
  });

  $("#flash").css({position: 'absolute', zIndex: 10, height: 350, width: 350, top: 30, left: 100});

[B]function kill()
{
document.all['flash'].style.display="none";
$.cookie('banner', 'close', { expires: 2});
};[/B]


var banner = $.cookie('banner');
if (banner == 'close') {
$("#flash").css({display: 'none'});
}

});



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

Подскажите что я тут не так делаю 8( Так хочется решить вопрос..
Cпасибо

namez 05.11.2009 06:02

Дополню, изначально сделал вот так и кнопка закрыть на баннере работает, куки надо привязать...

$(document).ready(function(){

  $("#flash").flash({
    src: 'banner.swf',
    width: 350,
    height: 350,
    wmode: 'transparent'
  });

  $("#flash").css({position: 'absolute', zIndex: 10, height: 350, width: 350, top: 30, left: 100});

});

function kill(){
document.all['flash'].style.display="none";
};

namez 05.11.2009 06:31

Сам сусам, рад что получилось. Кстати я не упомянул что загрузка флеша у меня происходит с помощью плагина jquery, ну это мелочи -)

Итого

$(document).ready(function(){

  $("#flash").flash({
    src: 'banner.swf',
    width: 350,
    height: 350,
    wmode: 'transparent'
  });

  $("#flash").css({position: 'absolute', zIndex: 10, height: 350, width: 350, top: 30, left: 100});

var banner = $.cookie('banner');
if (banner == 'close') {
$("#flash").css({top: 200});
}

});

function kill(){
document.all['flash'].style.display="none";
$.cookie('banner', 'close', { expires: 7});
};



Буду рад любым комментам к моему коду, может можно более правильней сделать данную вещь - мне будет полезно в копилку знаний положить реализацию -)) Спасибо всем

namez 05.11.2009 08:09

Подправил место поиска по DOM =)

function kill(){
$("#flash").css({'display' : 'none'})
$.cookie('banner', 'close', { expires: 7});
};

chosen 05.11.2009 08:33

зачем сначала создавать баннер а потом его (если что) скрывать
когда можно просто (если что) его не выводить
(возможно этот вопрос возник если баннер не скрывался а удалялся бы вообще)

document.all - это не по W3C

в места
$("#flash").css({'display' : 'none'})
можно воспользоваться
$("#flash").hide();

namez 05.11.2009 08:37

chosen, хммм верно - подумаю сейчас как кукиси тут применить
Задача то простая - выводить баннер по умолчанию и если пользователь его закрыл то не выводить n-ок кол-во времени.

за hide спасибо, по документации фрейма не особо гулял -)))


Часовой пояс GMT +3, время: 06:20.