Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    'filtro' e scroll ad ancora: non va

    Sto utilizzando una funzione che mi consente di filtrare i contenuti, in base alla scelta operata dall'utente.
    La funzione è questa:
    Codice PHP:
    $(function(){ 
    $(
    "#allcat").click(function(){     
    location.href="#topoff";        
    $(
    ".offer_div").slideDown();        
    $(
    "#catpicker a").removeClass("current");        
    $(
    this).addClass("current");        
    return 
    false;    });    
    $(
    ".filter").click(function(){     
    location.href="#topoff";         
    var 
    thisFilter = $(this).attr("id");         
    $(
    ".offer_div").slideUp();         
    $(
    "."thisFilter).slideDown();         
    $(
    "#catpicker a").removeClass("current");         
    $(
    this).addClass("current");         
    return 
    false;    });    
    $(
    ".offer_div").shuffle(); }); 
    All'interno della funzione, ho inserito una stringa (location.href="#topoff"; ) che dovrebbe far si che, al click, la pagina scrolli sino all'ancora #topoff.
    Purtroppo, lo scroll non avviene.
    Se, invece, inserisco il collegamento all'ancora nel link stesso (<a href="#topoffer" ... ), funziona, ma solo dopo la prima volta!
    Ovvero, se clicco ad es. su novembre (la selezione è per mesi), filtra effettivamente i contenuti, ma non va all'ancoraggio; se poi clicco nuovamente per selezionare un'altro filtro - ad es. dicembre, funziona anche il movimento all'ancora!
    Quindi il problema si determina soltanto quando viene chiamata la funzione per la prima volta...
    Da cosa può dipendere, e come posso risolvere?
    metatad
    graphic & web design

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Mi sembrava importante sottolineare nel titolo del post, che il problema era relativo a JQuery...
    solo per questo, ho aperto un nuovo post.
    metatad
    graphic & web design

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    UP?
    :master:
    metatad
    graphic & web design

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando le cose si fanno relativamente complesse, il non poter vedere la pagina dove si verifica il problema limita notevolmente la possibilita' di ricevere risposte utili

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    questo è il link alla pagina:
    http://www.ischiatophotel.it/testing_et/preview53.php
    Il problema sorge cliccando sulle icone dei mesi...
    metatad
    graphic & web design

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    riordina le idee perche' cosi' e' veramente un casino anche solo capire cosa succede
    lo script smoothscroll cerca di risolvere la posizione del target dell' ancora mentre tutto scorre

    fossi in te prima di tutto lo scroll all' ancora lo farei in jquery,
    poi eviterei di fare sliding vari oppure pianificherei di aspettare la fine degli slide per far partire lo scrolling

    senza contare che partire con un errore non e' proprio il massimo
    $(".offer_div").shuffle();

    buon proseguimento

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Giuste osservazioni, anche perchè sono andato aggregando pezzi forse troppo eterogenei...
    Cmq, ho eliminato la riga di codice che segnalavi (rimasuglio del codice originario che avevo modificato), ed ho seguito il consiglio di utilizzare JQuery per fare lo scroll di pagina all'ancora.
    Ho trovato quindi la funzione scrollTo, che contiene anche la possibilità di far scattare un'azione dopo l'esecuzione dello scroll.
    Unico limite, non fa scroll ad ancore, ma solo ad elementi.
    Dalla pagina demo, riprendo questa stringa:
    Codice PHP:
    [url="#target"]Ways to specify the target[/url
    Il link scrolla, con effetto elastico, al div con id target.
    Perfetto.
    Nelle istruzioni della funzione, trovo anche questo esempio:
    Codice PHP:
    $('#container').scrollTosecond_child, { duration:500axis:'x'onAfter:function(){  alert('scrolled!!');
    }}); 
    quindi, per avere una seconda azione, dopo lo scroll, bisogna usare onAfter.
    Scrivo quindi questa stringa:
    Codice PHP:
    [url="#cerca"]Search[/url
    laddove cerca è l'id di un div che utilizzo come ancoraggio, e cercap l'id del div che, dopo lo scroll, dovrebbe apparire con effetto slide.
    Risultato: lo scroll funziona, ma lo slide no, ed il div rimane invisibile!

    Dove sbaglio (ancora)?
    metatad
    graphic & web design

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.