Nasze strony wykorzystują pliki cookies. Używamy cookies i podobnych m.in. w celach reklamowych i statystycznych oraz w celu dostosowania serwisów do potrzeb użytkowników. Mogą też stosować je nasi reklamodawcy, firmy badawcze oraz dostawcy aplikacji. W przeglądarce można zmienić ustawienia dotyczące cookies. Więcej informacji. Jeśli nie wyrażasz zgody, opuść tę stronę.

Ruch menu

Forum dyskusyjne poświęcone zagadnieniom związanym z językami JavaScript, VBScript i podobnym

Moderator: Grupa pościgowa ;-)

Ruch menu

Postprzez Dyrcio » 15 lipca 2003, o 18:09

Witam
Mam problem i nie ukrywam że liczę na Was :)
Problem:
Jest sobie menu i chciałbym, aby ono porzesuwało sie w dół podczas przesuwania strony w dół i na odwrót.
Przyczym nie chodzi mi o funkcję setInterval("funkcja()", 100);, raczej o jakis obiekt event.
Podczas funkcji setInterval("funkcja()", 100) "mruga sobie" kursor, który mnie denerwuje :(
Wykombinowałem sobie takie cus:
Zachodzi zmiana w obiekcie event i wykonuje mi sie jakaś tam funkcja.
obiekt musiałby rejestrować zmiany: kalwyszy PGUP i PGDOWN, ruch suwaka(scrolla) i rolki w myszce itp.
Dzięki za wszelką pomoc :)
Wystarczy mi, które obiekty są za to odpowiedzialne :wink:
Dyrcio
Jestem tu już dłuższą chwilę
Jestem tu już dłuższą chwilę
 
Posty: 132
Dołączył(a): 27 marca 2003, o 01:18

Postprzez Wydra707 » 16 lipca 2003, o 02:10

Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21

Postprzez januzi » 16 lipca 2003, o 08:41

plik przewin.jss
obiekt = null ; percent = null ;
lastScrollY = 0; lastScrollX = 0;
diffY = diffX = 0 ;
left_0 = top_0 = 0 ;

if (document.layers) { obiekt = document.slide ; }
if (document.getElementById) { obiekt = document.getElementById('slide').style ; }
if (document.all) { obiekt = document.all['slide'].style ; }

if ( obiekt.top != '' ) top_0 = parseInt( obiekt.top ) ;
if ( obiekt.left != '' ) left_0 = parseInt( obiekt.left ) ;

function get_position() {

if (document.all) {
diffY = document.body.scrollTop ;
diffX = document.body.scrollLeft ;
}
else {
diffY = self.pageYOffset ;
diffX = self.pageXOffset ;
}
}

function count_p( inp ) {

if(inp > 0) return Math.ceil(inp);
else return Math.floor(inp);
}

function jSlide() {

get_position() ;

if(diffY != lastScrollY) {
percent = count_p( .1 * (diffY - lastScrollY) ) ;
obiekt.top = lastScrollY + top_0 ;
lastScrollY += percent;
}

if(diffX != lastScrollX) {
percent = count_p( .1 * (diffX - lastScrollX) ) ;
obiekt.left = lastScrollX + left_0 ;
lastScrollX += percent;
}
setTimeout( "jSlide()", 1 ) ;
}


Plik ze strona :
(sekcja head)
<span ID="slide"> tutaj menu </span>
<script LANGUAGE="JavaScript" src="przewin.jss"> </script>
<STYLE>
#slide
{
Position : Absolute ;
Left : 3 ;
Top : 5 ;
}
</STYLE>

(sekcja body)
<BODY onLoad="jSlide();">

Powinno ruszyc bez wiekszych poprawek. Sposob dzialania mozna zobaczyc na stronie http://aji-manga.nowysacz.net/chrono/chrono.php
januzi
Mega GURU
Mega GURU
 
Posty: 1431
Dołączył(a): 18 października 2002, o 13:53

Postprzez Wydra707 » 16 lipca 2003, o 23:32

Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21

Postprzez januzi » 16 lipca 2003, o 23:48

januzi
Mega GURU
Mega GURU
 
Posty: 1431
Dołączył(a): 18 października 2002, o 13:53

Postprzez Wydra707 » 17 lipca 2003, o 00:05

Ależ ja nie twierdzę, że to sprawi jakieś problemy. Po prostu masz cały czas w tle pracujący w kółko i w kółko skrypt powtarzający się pewnie z kilkaset razy na sekundę... Nawet jeśli strona stoi (nie przewija się) skrypt ciągle sam się wywołuje i wykonuje swoje instrukcje. Moim zdaniem to bardzo nieoptymalne... Ale co kto lubi :-)

Pozdrawiam
Paweł Rajewski
Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21

Postprzez Dyrcio » 18 lipca 2003, o 16:43

Thx Wszystkim za zainteresowanie.
Sorki że teraz opd. bo dopiero wrocilem :)
Co do rozwiązań to sprawdzę :)
A wracając do mojego problemu, to faktycznie wolałbym nie stosować "pętli działających w tle"
Jeszcze raz dzięki.
Dyrcio
Jestem tu już dłuższą chwilę
Jestem tu już dłuższą chwilę
 
Posty: 132
Dołączył(a): 27 marca 2003, o 01:18


Powrót do Języki JavaScript i VBScript

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników

cron