Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][JavaScript][CSS]Problem z "chmurką" w menu, Problem
McGiorgio
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


Kolega poprosił mnie o pomoc z menu jego strony, robiłem kilka lat temu coś podobnego ale przy całkowicie innej konstrukcji menu, opisuje w czym problem.

Kiedyś dawno temu zbudował sobie menu o następującej, dość kijowej, konstrukcji:

  1.  
  2. <div class="menu_top_box1"onmouseover="this.className='menu_top_box1_clic';" onmouseout="this.className='menu_top_box1';" onclick="self.location.href='?page=klan';" title="Na tej stronie znajdziesz informacje na temat naszego klanu.">KLAN</div>
  3.  


Jak zapewne się domyślacie menu działa dobrze.

Teraz wpadliśmy na pomysł aby opisy z title wyświetlały się w chmurce której parametry będą określone w css'sie.

Mamy styl
  1. .chmurka {
  2. position: absolute;
  3. font-family: Arial, Helvetica;
  4. color: #222222;
  5. font-size: 8pt;
  6. background: #FCF204;
  7. padding: 3px;
  8. border: 1px;
  9. border-style: solid;
  10. margin-top: 12px;
  11. margin-left: 8px;
  12. margin-right: -1000;
  13. }


Mamy JavaSript
  1. <script type="text/javascript">
  2. function chmurka(e,v){
  3. if(v.title){
  4. var t=document.createElement("div");
  5. t.className="chmurka";
  6. t.innerHTML=v.title;v.title="";
  7. v.move=function(e){
  8. e=e||event;
  9. t.style.left=e.clientX + document.body.scrollLeft+"px";
  10. t.style.top=e.clientY + document.body.scrollTop+"px";
  11. }
  12. v.move(e);
  13. document.body.appendChild(t);
  14. v.onmousemove=function(e){v.move(e)}
  15. v.onmouseout=function(e){
  16. v.title=t.innerHTML;
  17. document.body.removeChild(t);
  18. }
  19. }
  20. }


Wiem, że normalnie powinno łączyć się to tak

  1. <p align="right">NAJEDZ TU KURSOREM >>> <a href="#" title="OPIS OPIS" onmouseover="chmurka(event,this)">KLAN</a></p>


Ale nie ma zielonego pojęcia jak połączyć to z tym menu które już jest więc please help me!

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
longinus_torwald...
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 6
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


a nie po prostu tak?
Kod
<div class="menu_top_box1"onmouseover="chmurka(event,this);this.className='menu_top_box1_clic';" onmouseout="this.className='menu_top_box1';" onclick="self.location.href='?page=klan';" title="Na tej stronie znajdziesz informacje na temat naszego klanu.">KLAN</div>


Ten post edytował longinus_torwaldzki 12.08.2011, 10:55:48
Go to the top of the page
+Quote Post
McGiorgio
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


Sprawdzam....

Działa, wielkie dzięki.... jesteś WIELKI.

Ten post edytował McGiorgio 12.08.2011, 11:01:11
Go to the top of the page
+Quote Post
longinus_torwald...
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 6
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


spoko, też jestem nowy na forum ty gdzieś ponoć można kliknąć, że pomogłem to kliknij pls.
Go to the top of the page
+Quote Post
McGiorgio
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


Cytat(longinus_torwaldzki @ 12.08.2011, 11:55:05 ) *
a nie po prostu tak?
Kod
<div class="menu_top_box1"onmouseover="chmurka(event,this);this.className='menu_top_box1_clic';" onmouseout="this.className='menu_top_box1';" onclick="self.location.href='?page=klan';" title="Na tej stronie znajdziesz informacje na temat naszego klanu.">KLAN</div>


No dobra działa bo się opis pojawia w zdefiniowanej chmurce i to jest super tyle, że zostaje clasa menu_top_box1_clic i nie wraca do menu_top_box1
Go to the top of the page
+Quote Post
longinus_torwald...
post
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 6
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


dodaj onmouse out do chmurki:
Kod
<script type="text/javascript">
    function chmurka(e,v){
    if(v.title){
    var t=document.createElement("div");
    t.className="chmurka";
    t.innerHTML=v.title;v.title="";
    v.move=function(e){
    e=e||event;
    t.style.left=e.clientX + document.body.scrollLeft+"px";
    t.style.top=e.clientY + document.body.scrollTop+"px";
    }
    v.move(e);
    document.body.appendChild(t);
    v.onmousemove=function(e){v.move(e)}
    v.onmouseout=function(e){
        
   this.className='menu_top_box1'; // <------------------

    v.title=t.innerHTML;
    document.body.removeChild(t);
    }
    }
    }
    </script>

i wywal z diva
Kod
<div class="menu_top_box1"onmouseover="chmurka(event,this);this.className='menu_top_box1_clic';" onclick="self.location.href='?page=klan';" title="Na tej stronie znajdziesz informacje na temat naszego klanu.">KLAN</div>
Go to the top of the page
+Quote Post
McGiorgio
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 12.08.2011

Ostrzeżenie: (0%)
-----


Działa znakomicie.

Wielkie dzięki za poprzednią pomoc, ale jak wiemy świat był by zbyt prosty gdyby na tym się zakończyło, wpadliśmy na pomysł aby troszeczkę te nasze chmurki uatrakcyjnić więc walczymy z css'em obecnie wygląda on tak.

  1. .chmurka {
  2. position: absolute;
  3. max-width: 280px;
  4. text-align:justify;
  5. font-family: Arial, Helvetica;
  6. font-size: 8pt;
  7. color: #000000;
  8. background: #E4E4E4;
  9. padding: 5px;
  10. border: 1px;
  11. border-color:#214D70;
  12. -webkit-border-top-right-radius: 10px; /* prawy górny */
  13. -webkit-border-bottom-left-radius: 10px; /* lewy dolny */
  14. -khtml-border-radius-topright: 10px;
  15. -khtml-border-radius-bottomleft: 10px;
  16. -moz-border-radius-topright: 10px;
  17. -moz-border-radius-bottomleft: 10px;
  18. border-top-right-radius: 10px
  19. border-bottom-left-radius: 10px;
  20. border-style: solid;
  21. margin-top: 12px;
  22. margin-left: 8px;
  23. margin-right: -1000;
  24. }


chmurki nabrały krągłości i jest super ale nie mają przezroczystości więc mówię sobie wstawię

  1. filter: alpha(opacity=50); -moz-opacity: 0.5; opacity: 0.5;


i tekst titla robi się przezroczysty, macie może pomysł jak to obejść (przezroczyste tło z pliku graficznego nie wchodzi w rachubę).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.09.2025 - 10:30