Aanpassen Slider (?JS/HTML?)

  • Onderwerp starter Onderwerp starter ptb
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ptb

Gebruiker
Lid geworden
14 aug 2011
Berichten
20
Beste lezers,

Ik ben bezig met een eerste opzet voor een eigen site. Complete amateur op dit gebied, dus mocht iemand een antwoord hebben, graag stap voor stap toelichten A.U.B.!

de site kan gevonden worden op: http://patto.web44.net/ ..heb hem zolang op een gratis domein gezet.

In de tekst die op de startpagina staat kan er op 1 woord geklikt worden. Wanneer je dit doet, kom je uit op een soortgelijke pagina, die ik in de toekomst uiteraard van andere informatie wil voorzien.

Aangekomen op die pagina zie je de tekst: Click to go back. Wanneer je daar op klikt ga je naar de vorige pagina. Dit werkt verder prima (in chrome tenminste) , maar ik wil het zo hebben dat wanneer ik weer op: 'About Us' klikt, ik weer op de startpagina uitkom.

Voor zover ik het begrijp zit de moeilijkheid in de slider. De kopjes about us, projects, social en contact ; zijn namelijk geen aparte html documenten, maar staan in de index. De slider brengt je eigenlijk gewoon naar een nieuw gedeelte op dezelfde pagina(index.html).

De pagina waar je op terecht komt, als je op het woord klikt wat in de tekst op de startpagina staat, heet: cleanpage.html.

Het javascript wat erbij hoort heb ik even in een pastebin gezet: http://pastebin.com/bHQvbaeE
Hier ook even de html code van cleanpage.html: http://pastebin.com/M6fXnhNJ


Mochten er vragen of oplossingen zijn, dan hoor ik dat graag!
 
Even off-topic: je kan op Dot.tk een gratis domein (werkt super met 000webhost) maken.
 
Hoi ptb,
Juist ja: de pagina's staan bol van de javascripts! :eek:

Wat er gebeurt is het volgende.
In het menu van de cleanpage.html staat:
HTML:
<ul id="menu">
    <li class="about"><a href="Index.html" title="About Pattoziac">About Us</a></li>
    <li class="portfolio"><a href="#portfolio" title="Things I created">Projects</a></li>
    <li class="social"><a href="#social" title="Places I hang out">Social</a></li>
    <li class="contact"><a href="#contact" title="Get in touch!">Contact</a></li>
</ul>
  • De eerste link zou naar de startpagina moeten gaan, maar door het slider-script wordt hiervan "het eerste slider-item op de cleanpage" gemaakt. Daar staat de slider bij opening van de cleanpage.html al op > dus er gebeurt niets.
  • De andere 3 links uit het menu zijn bladwijzers op de pagina cleanpage zelf. Door het slider-script wordt dan naar het 2e, 3e en 4e slider-item op de clean-page gegaan. Maar die zijn er niet!
  • Dus de begin-tekst schuift wel keurig naar links buiten beeld ... maar er komt "cleanspace" voor in de plaats: niets! ;)
  • Als je nogmaals op About Us klikt, ga je niet naar de AboutUs op de homepage, maar schuift de begin-tekst van de cleanpage weer terug.

Er moeten dus een paar dingen gebeuren:

1. Op cleanpage.html moet het slider-script worden uitgeschakeld
Dat is eenvoudig het schrappen uit de <head> van de aanroep van het script:
HTML:
...
<script type="text/javascript" src="./style/js/jquery.coda-slider-2.0.js"></script>
...
Eigenlijk moet je ook voor deze pagina een aangepaste versie van het patto.web44.net/style/js/custom.js maken, waarin de CODA-SLIDER niet opgestart wordt. Zonder dat werkt 't schrappen ook wel, maar geeft de javascript-console een foutmelding wegens het ontbreken van het coda-slider-script.

2. Op de cleanpage.html moeten de menu-links veranderen (1)
Je zou zeggen naar de bladwijzers op de homepage:
HTML:
<ul id="menu">
    <li class="about"><a href="http://patto.web44.net/" title="About Pattoziac">About Us</a></li>
    <li class="portfolio"><a href="http://patto.web44.net/#portfolio" title="Things I created">Projects</a></li>
    <li class="social"><a href="http://patto.web44.net/#social" title="Places I hang out">Social</a></li>
    <li class="contact"><a href="http://patto.web44.net/#contact" title="Get in touch!">Contact</a></li>
</ul>
De eerste link gaat dan goed.
Maar de rest blijft hangen op dezelfde begin-tekst op de homepage... :shocked:
Probeer maar: [url]http://patto.web44.net/#portfolio[/URL], enz.
Hoezo?

3. De bladwijzers op de homepage moeten aangepast worden
De bladwijzers #portfolio, #social en #contact (en ook #about, maar dat hindert niet) ... bestaan niet als javascript aan staat.
Die zijn er alleen voor om naar het goede item te springen (ipv schuiven) als javascript uit staat:
HTML:
...
    <noscript><div id="about"></div></noscript>
...
    <noscript><div id="portfolio"></div></noscript>
...
    <noscript><div id="social"></div></noscript>
...
    <noscript><div id="contact"></div></noscript>
...
Haal je hier het <noscript> uit, dan gaat het wel goed als je vanaf de pagina cleanpage.html binnenkomt.
  • Maar ... dan schakel je tegelijkertijd het hele slideren op de homepage uit!
  • De bladwijzers #portfolio, #social en #contact mogen dus niet gebruikt worden.
  • Maar er kunnen wel andere, nieuwe bladwijzers aangemaakt worden: waar het slider-script niet op reageert.
De slider-items beginnen allemaal met een <div class="panel-wrapper">, en voor de 2e, 3e en 4e keer kan dat bv. worden:
HTML:
...
<div id="pf" class="panel-wrapper"><!-- extra portfolio-bladwijzer -->
...
<div id="sc" class="panel-wrapper"><!-- extra social-bladwijzer -->
...
<div id="ct" class="panel-wrapper"><!-- extra contact-bladwijzer -->
...
Hiermee is de homepage bedrijfsklaar, maar de nieuwe bladwijzers moeten nog wel in het menu van de cleanpage komen.

4. Op de cleanpage.html moeten de menu-links veranderen (2)
Nu dus naar de nieuwe bladwijzers op de homepage:
HTML:
<ul id="menu">
    <li class="about"><a href="http://patto.web44.net/" title="About Pattoziac">About Us</a></li>
    <li class="portfolio"><a href="http://patto.web44.net/#pf" title="Things I created">Projects</a></li>
    <li class="social"><a href="http://patto.web44.net/#sc" title="Places I hang out">Social</a></li>
    <li class="contact"><a href="http://patto.web44.net/#ct" title="Get in touch!">Contact</a></li>
</ul>

======
Heerlijk, al die zelfdenkende scripts: zie maar dat je er van af komt! :d

Test van het bovenstaande:

Een prettige gratis bonus is dat het nu ook mogelijk is om een directe link naar een item op de homepage door te geven (bv. in een e-mail, of op een andere site, enz.).
  • Anders moest je het verhaal vertellen "Ga naar patto.web44.net, en klik dan in het menu op Portfolio".
  • Nu zegt je: "Ga naar patto.web44.net/#pf".
  • In het voorbeeld: "Ga naar ptb-homepage-nw.htm#pf"

Met vriendelijke groet,
CSShunter
_________
PS-1: de link "Click to go back" zou ik er uit halen. Als het menu goed in elkaar steekt, is die overbodig (en het kan alleen maar fout gaan met die slider ...).

PS-2: in mijn (oudere) Firefox-3.6.27 doet de slider het niet zoals 't hoort (hij maakt een klein hupsje, en springt dan naar z'n item ipv schuiven: alsof de slider er niet is). In IE7, Chrome, Opera en Safari slidert ie mooi.

PS-3: de site is qua breedte geschikt voor een resolutie van 800*600px, maar niet qua hoogte: dan komt er geen scrollbar. Op 1024*768px gaat het net goed, maar alleen op max. vensterformaat.

PS-4: de index.html in de root (zoals de link bij het logo!) doet het niet, alleen Index.html met hoofdletter. Dat is waarschijnlijk een foefje van 000webhost.com om mensen op hun 404-pagina te krijgen en reclame voor zichzelf (en hun Premium-pakket) te maken.
Dat is niet gebruikelijk, en daar hou ik niet zo van... :confused:
 
Hallo Hunter,

Enorm bedankt voor je uitgebreide instructie. Het zal me wat tijd kosten om het allemaal te veranderen en vooral om het te begrijpen ;) Ik denk wel dat je hier met een oplossing of tenminste enigszins. Om die reden zet ik hem alvast even op opgelost. Helaas kreeg ik geen mailtje van een nieuwe reactie op mijn vraag, terwijl ik deze bij het antwoord voor jou (een antwoord dat veel minder nut had) wel kreeg. Excuses daarom voor de late reactie.

Ook super dat je een aantal test pagina's hebt aangemaakt. Hierdoor zie ik dat je er alles aan wil doen om mijn probleem op te lossen. Dit word erg door mij, en vast ook door anderen, op prijs gesteld.

Ik ga er mee aan de slag en nogmaals heel , heel, erg bedankt! :)

Met vriendelijke groet,

Ptb
 
Hoi ptb,
Helaas kreeg ik geen mailtje van een nieuwe reactie op mijn vraag (...)
Klopt, op dat moment had de server van helpmij wat haperingen, merkte ik. Jou treft geen blaam! :)

Succes!
CSShunter
 
Het zal me wat tijd kosten (...) om het te begrijpen.

Het systeem zit als volgt in elkaar:
  • De eerste pagina is eigenlijk een één-pagina website op zichzelf.
  • Binnen die eerste pagina zitten de "subpagina's" about, portfolio enz. Dat zijn geen echte pagina's maar onderdelen van de eerste pagina.
  • De browser kijkt eerst of javascript uit staat.
  • Zo ja, dan moet met een klik op het menu naar de subpagina gesprongen worden.
  • Dit gebeurt met een bladwijzer (id) naar het subpagina-gedeelte (de rest is er wel, maar zie je niet).
  • Staat javascript aan, dan moet met een klik op het menu niet meteen naar de subpagina gesprongen worden: het springen wordt uitgeschakeld (door de id's uit te schakelen).
  • Daarna treedt het script voor het geleidelijk doorschuiven in werking.

Dit is wat onhandig combineren met een andere, losse pagina (de cleanpage).
  • In de losse pagina zit hetzelfde menu.
  • Maar daar zitten niet alle subonderdelen van de eerste pagina in.
  • Klik je op een menu-item op een losse pagina, dan moet geswitched worden naar de eerste pagina, en dan naar het opschuifpunt daarin.
  • Het opschuifpunt wordt aangegeven met de bladwijzers (id's) in de startpagina.
  • Maar als javascript aan staat, werken die id's niet.
  • Dus moeten er extra id's worden toegevoegd, waar wel naartoe gesprongen kan worden als javascript aan staat (waar het script niet op reageert als in de eerste pagina moet worden doorgeschoven).

- Persoonlijk ben ik niet zo dol op pagina's die geen echte pagina's zijn, maar onderdelen van een andere. Dat maakt, als eerder aangegeven, het doorverwijzen naar de "losse pagina's die geen losse pagina's zijn" erg lastig.
Je zou een soortgelijk effect kunnen bereiken door een nieuwe pagina te laten infaden i.p.v. doorschuiven. Dan kunnen het wel allemaal losse pagina's zijn, en is ook de hiërarchie van de pagina's (o.a. via een eventueel submenu) veel makkelijker te beheren.

Om over na te denken! ;)

Met vriendelijke groet,
CSShunter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan