Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pasek canvas modyfikowany kursorem
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
barii
Witam Was,

mam taki problem, tworzę audio player w HTML5 z użyciem tagu <audio> i mam stworzony pasek, który, chciałbym przesuwać muzykę.

Pasek jest rysowany w canvas:

<canvas id="canvas" width="260" height="3">Canvas HTML5 nie jest obsługiwany</canvas>

Teraz mam pytanie, w jaki sposób napisać funkcje w JS która pobiera współrzędne kursowa i wyświetla pozycje w poziomie.
krowal
Musisz obsłużyc kilka zdarzeń JS i na ich podstawie wyświetlać suwak przesunięty o jakiś tam offset. Po pierwsze musisz wiedzieć czy użytkownik wcisnął przycisk myszy w obszarze działania suwaka.
[JAVASCRIPT] pobierz, plaintext
  1. var move = false
  2. $('#canvas').mousedown(function(){
  3. //wyliczasz gdzie zapoczątkowano przeciaganie
  4. //i czy punkt startu znajduje się w obszarze działania suwaka,
  5. // jeśli tak, ustawiasz flagę 'move' na true
  6. })
[JAVASCRIPT] pobierz, plaintext

Druga rzecz to obsługa przesuwania myszki gdy wciśnięty jest jej klawisz.
[JAVASCRIPT] pobierz, plaintext
  1. $('#canvas').mousemove(function(e){
  2. if (!move) return false; // wychodzimy z funkcji jeśli move == false
  3. var x = e.clientX; //pozycja myszki względem krawędzi okna
  4. var y = e.clientY;
  5. var of = $(this).offset(); //obiekt z przesunięciem elementu canvas względem krawędzi okna
  6. // wyliczasz z tego gdzie masz wyświetlić suwak
  7. })
[JAVASCRIPT] pobierz, plaintext

I to cała filozofia smile.gif

Do wyłapywania eventów użyłem jQuery, możesz to samo zrobić w gołym JS.
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.