Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery]Przeskoki slidera przy zmniejszeniu widoku strony
dela
post
Post #1





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 16.06.2009

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


Problem jest dość frustrujący bo występuje tylko w jednej przeglądarce (Chrome) na IE, Operze i Firefoxie działa ok. Mianowicie slider, który przesuwa się pod ruchem myszki po zmniejszeniu widoku w przeglądarce skacze, a po zwiększeniu ucieka.
Link do strony
Slider

Kawałek kodu, który odpowiada za przesuwanie(całą resztę można znaleźć w źródle strony)
[JAVASCRIPT] pobierz, plaintext
  1. var sliderWidth=930;
  2. $("#thumbScroller").css("width",sliderWidth);
  3. var totalContent=0;
  4. $("#thumbScroller .content").each(function () {
  5. totalContent+=$(this).innerWidth();
  6. $("#thumbScroller .container").css("width",totalContent+20);
  7. });
  8. $("#thumbScroller").mousemove(function(e){
  9. if($("#thumbScroller .container").width()>sliderWidth){
  10. var mouseCoords=(e.pageX - this.offsetLeft);
  11. //alert(mouseCoords);
  12. var mousePercentX=mouseCoords/sliderWidth;
  13. var destX=-(((totalContent-(sliderWidth))-sliderWidth)*(mousePercentX));
  14. var thePosA=mouseCoords-destX;
  15. var thePosB=destX-mouseCoords;
  16. var animSpeed=6000; //ease amount
  17. var easeType="easeOutCirc";
  18.  
  19. if(mouseCoords==destX){
  20. $("#thumbScroller .container").stop();
  21. }
  22. else if(mouseCoords>destX){
  23. //$("#thumbScroller .container").css("left",-thePosA); //alternatywna wersja
  24. //$("#thumbScroller .container").stop().animate({left: -thePosA}, animSpeed,easeType); //oryginal
  25. $("#thumbScroller .container").stop().animate({left: -thePosA});
  26. }
  27. else if(mouseCoords<destX){
  28. //$("#thumbScroller .container").css("left",thePosB); //alternatywna wersja
  29. //$("#thumbScroller .container").stop().animate({left: thePosB}, animSpeed,easeType); //orginal
  30. $("#thumbScroller .container").stop().animate({left: thePosB});
  31. }
  32. }
  33. });
[JAVASCRIPT] pobierz, plaintext


Przypuszczam, że jest to wina złej z czytywanej pozycji elementu ale nie wiem jak to naprawić.

Warto dodać, że uaktywni się // alternatywna wersja a weźmie w komentarz
[JAVASCRIPT] pobierz, plaintext
  1. $("#thumbScroller .container").stop().animate({left: -thePosA});
[JAVASCRIPT] pobierz, plaintext
to działa poprawnie.

Ten post edytował dela 1.08.2012, 11:42:53
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: 22.08.2025 - 09:20