Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jquery scroll position
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
olek123
Witam ,

Chciałbym za pomocą jQuery odczytać aktualną (current) pozycję scrolla(suwaka) w divie ...

Potrzebuję to w celu nie zmieniania pozycji po odświeżeniu strony. ...

Wójek google nie pomaga ... ale może to moja słaba znajomość angielskiego ;P




próbowałem w ten sposób :


  1. var sc = document.getElementById("myDiv").scrollTop;
  2.  
  3. $("div.demo").scrollTop(sc);




  1. <div id="myDiv" class='demo' style="float:left;padding:0;margin:0;width:58.5em;height:15.5em;background-color:transparent;overflow-y: scroll;" onscroll="scollPos();">
  2. </div>





ale mi nie działa sad.gif ... dobrze to przypisuję ?

znalazłem u jednego z forumowiczów coś takiego :


  1. $(document).scroll(function() {
  2.  
  3. var height = $(window).height();
  4. var myTop = $("#tenElement").offset().top;
  5. var scrollTop = $(document).scrollTop() + height ;
  6.  
  7. if (scrollTop > myTop) {
  8. alert('bum');
  9. }
  10.  
  11. })



tylko potrzebuję przerobić to na odczytanie pozycji scrolla z DIVa a nie ze scrolla dokumentu jak powyżej ...



podam może cały kod jak to wygląda obecnie:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head runat="server">
  4.  
  5. <script src="http://code.jquery.com/jquery-latest.js"></script>
  6.  
  7. </head>
  8.  
  9. <div id="myDiv" class="demo" style="float:left;padding:0;margin:0;width:58.5em;height:15.5em;background-color:transparent;overflow-y: scroll;">
  10.  
  11. <br />
  12. <a id="pos" href=''>jakas dana</a>
  13. <br />
  14. <a id="pos" href=''>jakas dana</a>
  15. <br />
  16. <a id="pos" href=''>jakas dana</a>
  17. <br />
  18. <a id="pos" href=''>jakas dana</a>
  19. <br />
  20. <a id="pos" href=''>jakas dana</a>
  21. <br />
  22. <a id="pos" href=''>jakas dana</a>
  23. <br />
  24. <a id="pos" href=''>jakas dana</a>
  25. <br />
  26. <a id="pos" href=''>jakas dana</a>
  27. <br />
  28. <a id="pos" href=''>jakas dana</a>
  29. <br />
  30. <a id="pos" href=''>jakas dana</a>
  31. <br />
  32. <a id="pos" href=''>jakas dana</a>
  33. <br />
  34. <a id="pos" href=''>jakas dana</a>
  35. <br />
  36. <a id="pos" href=''>jakas dana</a>
  37. <br />
  38. <a id="pos" href=''>jakas dana</a>
  39. <br />
  40. <a id="pos" href=''>jakas dana</a>
  41. <br />
  42. <a id="pos" href=''>jakas dana</a>
  43.  
  44. </div>
  45.  
  46.  
  47.  
  48.  
  49. var height = $("div.demo").height();
  50. var myTop = $("#a").offset().top;
  51. var scrTop = $("div.demo").scrollTop();
  52.  
  53. var div = document.getElementById("myDiv").scrollTop;
  54.  
  55.  
  56.  
  57. $("div.demo").scrollTop(div);
  58.  
  59. </script>
  60.  
  61. </body>
  62. </html>





słuchajcie już jestem bardzo blisko :


mam coś takiego:




  1. function mojafunkcja()
  2. {
  3. var myTop = $("div.demo").scrollTop();
  4.  
  5. return myTop
  6. }
  7.  
  8. var a;
  9. a = mojafunkcja();
  10.  
  11. $("div.demo").scrollTop(a);



nie rozumiem dlaczego $("div.demo").scrollTop(a); nie ładuje mi wartości a ? ... jak wpiszę z palca zamiast "a" na przykład "50" to ustawia mi suwak tam gdzie chcę


czemu tak się dzieje questionmark.gif





nospor
Cytat
nie rozumiem dlaczego $("div.demo").scrollTop(a); nie ładuje mi wartości a ? ... jak wpiszę z palca zamiast "a" na przykład "50"
Pobierasz wartość elementu, potem temu elementowi ustawiasz znowu tę samą wartość. No ale nic się nie dzieje.
Ale jak temu elementowi ustawisz inną wartość to on ma wówczas inną wartość.... dziwne... naprawdę dziwne.....

Łapiesz już absurd sytuacji czy jeszcze nie?
olek123
ok rozumiem ... faktycznie może być z tym jakiś problem ... przez ten absurd właśnie smile.gif


ale to jak inaczej to pobrać ?


bo jak zrobię tak:

document.write("Hello world! " + a);

to wyświetla mi tą wartość ...


ale ok chyba wiem o co chodzi ...


jest jakiś sposób? jak powienienem to zrobić ?



ok mam teraz coś takiego:



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>

<script type="text/javascript">



function mojafunkcja()
{
var myTop = document.getElementById("myDiv").scrollTop;

return myTop
}





</script>
</head>
<body>



<div id="myDiv" class='demo' style="float:left;padding:0;margin:0;width:58.5em;height:15.5em;background-color:transparent;overflow-y: scroll;" >

<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>
<br />
<a href=''>jakas dana</a>









</div>


<script>

var a;
a = mojafunkcja();

$("div.demo").scrollTop(a);


</script>

</body>
</html>




myślę że teraz jest trochę lepiej ... ale rozumiem że to przypisanie początkowe scrollTop jest niewłaściwe jeśli chcę aby to działało

mam już rozwiązanie mojego problemu ... musiałem to zrobić trochę inaczej:

po prostu w GETcie zapisuję sobie gdzie znajduje się po wybraniu danego rekordu suwak i następnie pod DIVem odczytuję tą wartość i dzięki temu suwak pozostaje dokładnie w tym samym miejscu :

poniżej cały kod:


  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head runat="server">
  4.  
  5.  
  6. <script src="http://code.jquery.com/jquery-latest.js"></script>
  7.  
  8. <script type="text/javascript">
  9.  
  10.  
  11. function mojafunkcja(a,b,c)
  12. {
  13.  
  14. var myTop = $("div.demo").scrollTop();
  15.  
  16. window.location.href="test6.php?c="+a+"&v="+b+"&o=1&k=3&a="+c+"&m="+myTop+"&n=0";
  17.  
  18. }
  19.  
  20.  
  21.  
  22.  
  23. </script>
  24. </head>
  25.  
  26.  
  27.  
  28. <div id="myDiv" class='demo' style="float:left;padding:0;margin:0;width:58.5em;height:15.5em;background-color:transparent;overflow-y: scroll;" >
  29.  
  30. <br />
  31. <?php
  32. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  33. ?>
  34. <br />
  35. <?php
  36. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  37. ?>
  38. <br />
  39. <?php
  40. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  41. ?>
  42. <br />
  43. <?php
  44. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  45. ?>
  46. <br />
  47. <?php
  48. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  49. ?>
  50. <br />
  51. <?php
  52. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  53. ?>
  54. <br />
  55. <?php
  56. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  57. ?>
  58. <br />
  59. <?php
  60. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  61. ?>
  62. <br />
  63. <?php
  64. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  65. ?>
  66. <br />
  67. <?php
  68. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  69. ?>
  70. <br />
  71. <?php
  72. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  73. ?>
  74. <br />
  75. <?php
  76. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  77. ?>
  78. <br />
  79. <?php
  80. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  81. ?>
  82. <br />
  83. <?php
  84. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  85. ?>
  86. <br />
  87. <?php
  88. echo "<a class='choo2' href='java script:mojafunkcja(2,3,3)'>rekord ndasid asdas dasd pasokop </a>";
  89. ?>
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97. </div>
  98.  
  99.  
  100.  
  101. $("div.demo").scrollTop(<?php echo $_GET['m']; ?>);
  102.  
  103.  
  104. </script>
  105.  
  106. </body>
  107. </html>







PANIE MODERATOR możesz pan zamknąć temat.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.