• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

.fadeIn() w Array

Object Storage Arubacloud
0 głosów
163 wizyt
pytanie zadane 21 stycznia 2018 w JavaScript przez Yashe Dyskutant (7,720 p.)

Witam serdecznie,

Nie oszukując się, javascript ledwo co znam, a JQuery tym bardziej. Czarna magia.. jak na razie, i dużo zaległości, które zamierzam nadrobić w jak najszybszym czasie. Na razie nie pozostaje mi nic innego jak zapytać was o pomoc. Do swoich tablic chciałbym dodać efekt fadeIn(), tak aby, każdy napis miał w sobie ten efekt. O to kod: 
 

<script>
	var ilosc = 8
	var teksty = new Array;
	teksty[0] = "tekst1";
	teksty[1] = "tekst2";
	teksty[2] = "tekst3";
	teksty[3] = "tekst4";
	var numer = 0;
	function SelectText()
	{
		numer++;
		if(numer==ilosc) numer=0;
		document.getElementById('dynamic_text').innerHTML = teksty[numer];
	}
		
	window.addEventListener('keydown', function(e)
	{
             if (e.keyCode == 39) return SelectText();
        })
		
</script>

Jest mi ktoś w stanie pomóc ?
Pozdrawiam

komentarz 21 stycznia 2018 przez lapacz.kornel Mądrala (6,930 p.)

Ten kod co podałeś to bardziej HTML wink.

komentarz 21 stycznia 2018 przez lapacz.kornel Mądrala (6,930 p.)

@Yashe, czemu nazwa funkcji z dużej?

2 odpowiedzi

+1 głos
odpowiedź 21 stycznia 2018 przez k.wichura Pasjonat (19,870 p.)
wybrane 21 stycznia 2018 przez Yashe
 
Najlepsza

Nie bardzo rozumiem o co chodzi w twoim pytaniu. Chodzi o coś takiego ? Tylko, że to jest bezsensu :D

        function SelectText() {
            numer++;
            const div = document.getElementById('dynamic_text');
            if (numer == ilosc) numer = 0;
            $('#dynamic_text').fadeOut(function() {
                div.innerHTML = '';
            }).fadeIn(function() {
                div.innerHTML = teksty[numer];
            });
        }

 

Ps. jak deklarujesz zmienne to chyba lepiej to wyglada : 

        var ilosc = 8,
            teksty = new Array,
            numer = 0;

I używaj nawiasów przy ifie ZAWSZE

 

1
komentarz 21 stycznia 2018 przez Yashe Dyskutant (7,720 p.)
Dokładnie o to chodziło, bardzo dziękuje i do uwag się zastosuje
komentarz 21 stycznia 2018 przez Yashe Dyskutant (7,720 p.)
Tylko jest na to nałożony FadeOut, po kliknięciu klawisza następuje animacja i kolejny napis pojawia się szybko, a chciałbym uzyskać efekt również płynnego wejścia :c
komentarz 21 stycznia 2018 przez k.wichura Pasjonat (19,870 p.)

spróbuj promise

 function SelectText() {
            numer++;
            const div = document.getElementById('dynamic_text');
            if (numer == ilosc) numer = 0;
            $('#dynamic_text').fadeOut(1000, function() {        
                div.innerHTML = teksty[numer];
            }).promise().done(function() {
                $('#dynamic_text').fadeIn(1000, function() {        
                    div.innerHTML = teksty[numer];
                });
            });
        }

 

komentarz 21 stycznia 2018 przez Yashe Dyskutant (7,720 p.)
Przepiękne... aż naszła mnie ochota aby samemu potrafić to pisać, a nie wyręczać się innymi. Bardzo dziękuje za pomoc
1
komentarz 21 stycznia 2018 przez k.wichura Pasjonat (19,870 p.)
Zacznij od pure js, wtedy baw się w JQuery. Ja niestety zrobiłem ten błąd, że zacząłem od JQuery ;) i teraz nadrabiam .

Praktyka przyjdzie z czasem
+1 głos
odpowiedź 21 stycznia 2018 przez lapacz.kornel Mądrala (6,930 p.)
const texts = [
  'txt1',
  'txt2',
  'txt3'
];

let number = 0;

const selectText = () => {
  $('#dynamic_text')
    .hide()
    .html(texts[number])
    .fadeIn();
  
  number === texts.length - 1
    ? number = 0
    : number++;
}

$(window).on('keydown', event => {
  event.keyCode === 39 && selectText();
});

nie jestem pewien czy o to ci chodziło...

Podobne pytania

0 głosów
1 odpowiedź 246 wizyt
pytanie zadane 4 lutego 2022 w JavaScript przez Piotr Kułakowski Początkujący (390 p.)
0 głosów
2 odpowiedzi 209 wizyt
pytanie zadane 17 czerwca 2018 w JavaScript przez piotr7k Nowicjusz (160 p.)
0 głosów
1 odpowiedź 194 wizyt
pytanie zadane 2 grudnia 2022 w JavaScript przez TheDarkSide Użytkownik (930 p.)

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...