Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Однократное появление div окна при загрузке страницы (https://javascript.ru/forum/dom-window/15599-odnokratnoe-poyavlenie-div-okna-pri-zagruzke-stranicy.html)

alex45rus 05.03.2011 13:16

Однократное появление div окна при загрузке страницы
 
Добрый день)
Прошу помочь мне с таким вопросом: Есть главная страница сайта на которой реализован javascript код. Этот код выводит div окно с красивым эффектом
только один раз. Тоесть при перезагрузки страницы окно уже не появляется и ни кому не мешает. В Div-е располагается небольшая инструкция по
использованию моего сайта для посетителей. Здесь меня всё устраивает.
Так как пользователи частенько закрывают это окно, я разместил на странице сайта кнопку, при нажатии которой, Div окно выводиться еще раз.
Вообщем если пользователь нуждается прочитать еще раз подсказку, он нажимает кнопку и появляется это окно.
Вот с этим то у меня как раз проблемы. При нажатии кнопки окно не появляется. Помогите пожалуйста))))

Код появления Div-a и сам Div (работает):
<script>

var ie=document.all
var dom=document.getElementById
var ns4=document.layers
var calunits=document.layers? "" : "px"

var bouncelimit=32 //(must be divisible by 8)
var direction="up"

function initbox(){
if (!dom&&!ie&&!ns4)
return
crossobj=(dom)?document.getElementById("dropin").style : ie? document.all.dropin : document.dropin
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
crossobj.top=scroll_top-250+calunits
crossobj.visibility=(dom||ie)? "visible" : "show"
dropstart=setInterval("dropin()",50)
}
function dropin(){
scroll_top=(ie)? truebody().scrollTop : window.pageYOffset
if (parseInt(crossobj.top)<100+scroll_top)
crossobj.top=parseInt(crossobj.top)+40+calunits
else{
clearInterval(dropstart)
bouncestart=setInterval("bouncein()",50)
}
}
function bouncein(){
crossobj.top=parseInt(crossobj.top)-bouncelimit+calunits
if (bouncelimit<0)
bouncelimit+=8
bouncelimit=bouncelimit*-1
if (bouncelimit==0){
clearInterval(bouncestart)
}
}
function dismissbox(){
if (window.bouncestart) clearInterval(bouncestart)
crossobj.visibility="hidden"
}
function truebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = ""
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset)
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function dropornot(){
if (get_cookie("droppedin")==""){
window.onload=initbox
document.cookie="droppedin=yes"
}
}
dropornot()
</script>

<div id="dropin" style="position:absolute;visibility:hidden;left:400px;top:300px;width:230px;height:230px;background-color:#EBEBEB"> Здесь находится текст сообщения, картинки и ссылки
</div>


Код кнопки (не работает):
<div><a href="#" onclick="document.getElementById('dropin').style.display='block'" /><img src="images/apply_f2.png" width="30" height="30" /></a></div>

ksa 05.03.2011 13:32

Цитата:

Сообщение от alex45rus
Помогите пожалуйста

Сличай что есть в ДИВе...

<div id="dropin" style="position:absolute;*!*visibility:hidden;*/!*left:400px;top:300px;width:230px;height:230px;background-color:#EBEBEB"> Здесь находится текст сообщения, картинки и ссылки
</div>


И что меняешь ты

<div><a href="#" onclick="*!*document.getElementById('dropin').style.display='block'*/!*" /><img src="images/apply_f2.png" width="30" height="30" /></a></div>

alex45rus 05.03.2011 14:00

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

ksa 05.03.2011 14:11

Цитата:

Сообщение от alex45rus
приведите пожалуйста код

Ну косинус же! (с) из КВН

<div id="dropin" style="position:absolute;display:none;left:100px;top:100px;width:230px;height:230px;background-color:#EBEBEB"> Здесь находится текст сообщения, картинки и ссылки 
</div>
<div><a href="#" onclick="document.getElementById('dropin').style.display='block'" /><img src="http://javascript.ru/forum/images/smilies/smile.gif" width="30" height="30" /></a></div>

alex45rus 05.03.2011 14:38

ksa, спасибо за помощь, но ваш код не работает, потомучто надо использовать именно "visibility". Зато, благодаря вашей подсказки, я решил проблему, поменяв style.display на style.visibility.
Вот конечный рабочий вариант:
<div id="dropin" style="position:absolute;visibility:hidden;left:100px;top:100px;width:230px;height:230px;background-color:#EBEBEB"> Здесь находится текст сообщения, картинки и ссылки 
</div>
<div><a href="#" onclick="document.getElementById('dropin').style.visibility='visible'" /><img src="http://javascript.ru/forum/images/smilies/smile.gif" width="30" height="30" /></a></div>

ksa 05.03.2011 14:53

Цитата:

Сообщение от alex45rus
но ваш код не работает

Он работает даже если его запустить тут на форуме... :)

Цитата:

Сообщение от alex45rus
надо использовать именно "visibility"

Это уже как домашнее задание... ;)

ksa 05.03.2011 14:54

Цитата:

Сообщение от alex45rus
спасибо за помощь

У нас принято плюсовать карму... ;)

alex45rus 05.03.2011 14:58

Мда...решил одну проблему, появилась другая. Перезагружаю браузер, открываю страницу и появляется мое Div окно, закрываю его, открываю по нажатию кнопки - все работает. Зато теперь, если перезагрузить страницу и нажать на кнопку Div окно открывается, но не закрывается. Кнопка "Закрыть" становится мертвая. Щелкаешь по ней, а реакции нет. Помогите, если знаете в чем может быть дело.

alex45rus 05.03.2011 14:59

Цитата:

Сообщение от ksa (Сообщение 95172)
У нас принято плюсовать карму... ;)

Сорри, исправлюсь)))

ksa 05.03.2011 15:00

Маладец. :thanks:


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