Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] rozszerzanie z przysłanianiem DIVa
krzychos7
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.01.2010

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


Mam jakby tabelkę z 6 diwów w jednym (2 kolumny po 3 linie). Chciałbym zrobić efekt taki iż po kliknięciu na jeden z nich tak jakby zmaksymalizuje się on na powierzchnię która one wszystkie zajmują rozwijając więcej treści. Natomiast po ponownym kliknięciu by z powrotem powrócił na swoje miejsce. Z animacją daję radę, z pokazywaniem treści również. Jedynie mam problem z "wyrwaniem z szeregu" takiego DIVa, nawet jak zmieniam mu z-index to rozsuwa on resztę DIVów.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krzychos7
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 21.01.2010

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


Tak zaczełem testować:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl">
  3. <title>test</title>
  4. <meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8" />
  5. <script type="text/javascript" src="jquery.js"></script>
  6. <script type="text/javascript" src="jquery.corner.js"></script>
  7. <script type="text/javascript" src="http://www.google.com/jsapi"></script>
  8. <script type="text/javascript">google.load("jqueryui", "1.7.2");</script>
  9. body {
  10. text-align: center;
  11. margin: 0;
  12. padding: 0;
  13. border: 0;
  14. background: #1a1a1a;
  15. }
  16. #kontener{
  17. text-align: left;
  18. width: 965px;
  19. margin: 0 auto;
  20. padding: 5px;
  21. color: #fff;
  22. margin-top: 30px;
  23. }
  24. .box{
  25. color: #b3dcf9;
  26. display: block;
  27. height: 140px;
  28. background: #f00;
  29. width: 474px;
  30. margin: 0px;
  31. margin-right: 4px;
  32. padding: 0px;
  33. float: left;
  34. margin-bottom: 4px;
  35. overflow: hidden;
  36. }
  37. <script type="text/javascript" >
  38. $(document).ready(function(){
  39. $('.box').corner("5px");
  40. $('.box').click(function(){
  41. var z = $(this).css('z-index');
  42. if(z==2){
  43. $(this).animate({width: '474px', height: '140px'}, 500, function(){
  44. $(this).css({'z-index': '0', 'position': 'relative'});
  45. });
  46. }
  47. else {
  48. $(this).animate({width: '952px', height: '428px'}, 500).css({'z-index': '2', 'position': 'absolute'});
  49. }
  50. });
  51. });
  52. </head>
  53. <div id="kontener">
  54. <div class="box">
  55. <p>
  56. 1
  57. </p>
  58. </div>
  59. <div class="box">
  60. <p>
  61. 2
  62. </p>
  63. </div>
  64. <div class="box">
  65. <p>
  66. 3
  67. </p>
  68. </div>
  69. <div class="box">
  70. <p>
  71. 4
  72. </p>
  73. </div>
  74. <div class="box">
  75. <p>
  76. 5
  77. </p>
  78. </div>
  79. <div class="box">
  80. <p>
  81. 6
  82. </p>
  83. </div>
  84. </div>
  85. </div>
  86. </body>
  87. </html>>


Pomogło dodanie display: absolute; podczas animacji (wcześniej odrzuciłem tą myśl gdyż wydawało mi się że pozycje ustosunkuje do całej strony a nie DIVa nadrzędnego).
Jednakże aktualnie każdy DIV najpierw pojawia się w górnym lewym roku "kontenera" i tam dopiero się rozszerza. Czy ma ktoś może pomysł jak zrobić by rozszerzał się od tego miejsca w którym się znajduje?
Chodzi mi przy tym o dość uniwersalne rozwiązanie (temu też nie tabelki) które będzie działało niezależnie od tego ile będę miał kolumn i linii w takim 'obiekcie'.
Go to the top of the page
+Quote Post

Posty w temacie


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: 6.10.2025 - 04:46