Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jquery] podwójne wysokości w innerHeight()
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


Witam oto przykład:
plik html:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  4. <script src="jquery.js"></script>
  5. <script src="selektory.js"></script>
  6. <style type="text/css">
  7. #pierwszy, #drugi, #trzeci{
  8. margin: 5px;
  9. border: 3px solid red;
  10. padding: 10px;
  11.  
  12. }
  13. #drugi{
  14. margin: 5px;
  15. border: 3px solid red;
  16. padding: 15px;
  17. }
  18. #trzeci{
  19. margin: 5px;
  20. border: 3px solid red;
  21. padding: 20px;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="pierwszy"></div>
  27. <div id="drugi"></div>
  28. <div id="trzeci"></div>
  29. </body>
  30. </html>


plik js:
  1. $(document).ready(function(){
  2. $("div").click(function(){
  3. $(this).text("Wys." + $(this).innerHeight());
  4. });
  5. });


Z założenia w każdym z div ma być wyświetlana jego wysokość wewnętrzna (innerHeight()). Wysokość się pojawia po kliknięciu, ale gdy kliknę na to samo drugi raz pojawia się inna wysokość, skąd ona się bierze i dlaczego tak jest? Oraz prośba jak przerobić ten skrypt, żeby pokazywał wysokość elementów od razu, bez potrzeby kliknięcia na element?
Go to the top of the page
+Quote Post
devbazy
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 4
Dołączył: 10.08.2009

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


Na początku ten konkretny blok (ze schowanym tekstem) ma wysokość równą "30" (przypuszczalnie) - po kliknięciu dostajesz akurat tą wartość. Za drugim razem otrzymujesz wartość wraz z tekstem znajdującym się w obszarze tego elementu czyli np. "45". Wyświetl sobie tą informacje o wysokości poza blokiem, to zauważysz różnicę.

Po małej modyfikacji taki kod może wyglądać tak:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=utf-8">
  4. <script src="jquery.js"></script>
  5. <script src="selektory.js"></script>
  6. <style type="text/css">
  7. #pierwszy, #drugi, #trzeci{
  8. margin: 5px;
  9. border: 3px solid red;
  10. padding: 10px;
  11.  
  12. }
  13. #drugi{
  14. margin: 5px;
  15. border: 3px solid red;
  16. padding: 15px;
  17. }
  18. #trzeci{
  19. margin: 5px;
  20. border: 3px solid red;
  21. padding: 20px;
  22. }
  23. </style>
  24. </head>
  25. <body>
  26. <div id="pierwszy"></div>
  27. <div id="drugi"></div>
  28. <div id="trzeci"></div>
  29. <div id="info"></div>
  30. </body>
  31. </html>


[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2.  
  3. var div1 = $("#pierwszy").innerHeight();
  4. var div2 = $("#drugi").innerHeight();
  5. var div3 = $("#trzeci").innerHeight();
  6.  
  7. $("#info").append("Wys. " + div1 + " | " + div2 + " | " +div3);
  8.  
  9. });
[JAVASCRIPT] pobierz, plaintext


P.S: Dostępny jest tag "JavaScript".
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 07:58