To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

Wersja 1.12.0 Beta 2 - overlib na searchu - antidotum

irekk - 19-11-2005, 23:22
Temat postu: overlib na searchu - antidotum
pisze tutaj by nie przepadlo
testowane na ffoxie i shIciE, jak ktos moze to nie sprawdzi na operze

PLIK: overall_header.tpl
Kod:

##
## znajdz:
##

    function show_s_div()
    {
        <!-- BEGIN window_search -->
        document.getElementById('s_click').style.display='block';
        document.getElementById('focus_search').focus();
        <!-- END window_search -->
        return;
    }

##
## zamien na:
##

    var nohide_s_div = 0;

    function show_s_div()
    {
        <!-- BEGIN window_search -->
        document.getElementById('s_click').style.display='block';
        empty_var = setTimeout('hide_s_div()', 3000);
        <!-- END window_search -->
    }

    function lock_s_div(form)
    {
        nohide_s_div = 1;   
    }

    function unlockandhide_s_div(form)
    {
        nohide_s_div = 0;
        document.getElementById('s_click').style.display='none';
    }

    function hide_s_div()
    {
        if(nohide_s_div != 1)
        {
            document.getElementById('s_click').style.display='none';
        }
    }

##
## znajdz:
##

<input type="text" name="search_keywords" id="focus_search" />

##
## zamien na:
##

<input type="text" name="search_keywords" id="focus_search" onFocus="lock_s_div(this.form);" onBlur="unlockandhide_s_div(this.form);" />


##
## znajdz:
##

<div style="border: solid 1px; width: 14px; height: 14px; background: {T_TR_COLOR2}; cursor: pointer; margin: 0px;" align="center" onclick="document.getElementById('s_click').style.display='none';"><b>X</b></div>

##
## zamien na:
##

<div style="border: solid 1px; width: 14px; height: 14px; background: {T_TR_COLOR2}; cursor: pointer; margin: 0px;" align="center" onclick="unlockandhide_s_div(this.form);"><b>X</b></div>


teraz gowienko znika po 3s chyba ze ktos zaznaczy pole tekstowe (onFocus)

Przemo - 19-11-2005, 23:26

Tez robilem wlasnie takie same kombinacje ale dzialalo jakos dziwnie. Sprawdze twoje :)
Crack - 19-11-2005, 23:36

Myślę że warto by było podpatrzeć jak to robią z menu w vBulletinie. Jeśli po pokazaniu menu kliknie się gdzieś na stronie (dowolne miejsce poza menu) to menu się chowa: http://forum.tanuki.pl , link "Szukaj".
irekk - 19-11-2005, 23:40

mozna dodac tak i tez bedzie jak mowisz:
Kod:
<input type="text" name="search_keywords" id="focus_search" onFocus="lock_s_div(this.form);" onBlur="hide_s_div();" />

ale wowczas trzeba by jeszcze poprawic:
Kod:
    function hide_s_div()
    {
        if(nohide_s_div != 1)
        {
            document.getElementById('s_click').style.display='none';
            nohide_s_div = 0;
        }
    }

(NIE SPRAWDZONE)
edit: nie dzialalo ale prawidlowe rozwiazanie jest w pierwszym

Crack - 19-11-2005, 23:41

Zamiast overliba można by sprawdzić jak sprawdził by się Tipster: http://www.twinhelix.com/dhtml/tipster/demo/
Przy okazji ma o połowę mniejszy rozmiar niż overlib.

NetJaroPL - 20-11-2005, 16:27

Na operze działa ;)
rzymek01 - 20-11-2005, 17:35

potwierdzam. na operze działa, tyle tlyko, że jak najedzie się na formulae, to jakoś dziwnie ten dymek jedzie do prawego boku ekranu :)
miszko - 20-11-2005, 17:44

rzymek01 napisał/a:
to jakoś dziwnie ten dymek jedzie do prawego boku ekranu


:roll: bo to tak ma być! Przeczytaj co pisze w tym "dymku".

przecinek - 27-11-2005, 15:17

A nie można zamiast zabawy nohide_s_div zrobić po prostu tak:

<span class="nag" onmouseover='idb=setTimeout("document.getElementById(\"dyd\").style.visibility = \"visible\"", 100);' onmouseout='ida=setTimeout("document.getElementById(\"dyd\").style.visibility = \"hidden\"", 800);'>Szukaj</span><span id="dyd" style="visibility: hidden;" onmouseover="clearTimeout(ida);" onmouseout='ida=setTimeout("document.getElementById(\"dyd\").style.visibility = \"hidden\"", 800);'><a href="search.php">Tu jestem</a></span>

Czemu w podglądzie zamienia się to na html, a tu nie?

Crack - 27-11-2005, 20:09

Zamiast style.visibility lepiej manipulować za pomocą style.display. visibility ma inne implementacje w różnych przeglądarkach a display "none" i "block" działają wszędzie.
przecinek - 27-11-2005, 22:59

Zasadniczo chodziło mi o wykorzystanie clearTimeout(_), reszta była dla ilustracji ;) .
Przemo - 28-11-2005, 14:26

Jak juz pisalem usunalem to z wersji 1.12.0 jesli ktos jest w stanie zrobic zeby to dzialalo dobrze i efekt byl dobry niech zrobi gdzies strone html z tym i da linka


Powered by phpBB modified by Przemo © 2003 phpBB Group