Toon posts:

Content veranderen dmv jquery/ajax

Pagina: 1
Acties:
  • 242 views

  • macuz
  • Registratie: Mei 2004
  • Laatst online: 10-05 19:39
Hallo,

Ik ben bezig de programmering van een website waarbij ik tegen een probleem aanloop waarvan ik het antwoord na uren googlen en experimenteren niet kan vinden.

Ik heb bij de ontwikkeling van een website een header waar diverse content in wordt weergeven. Wat ik code-technisch nodig heb, is een manier om de content van div-a te veranderen in bijvoorbeeld een verborgen div-b op het moment dat ik op een link in deze div-a klik. Daarna moet je ook weer terug kunnen door binnen de content van div-b op een link te klikken welke content van div-b weer vervangt naar die van div-a.

Ter illustratie:


Ik heb gekeken naar diverse ajax/jquery mogelijkheden zoals hier en hier, maar waar ik dan tegenaan loop is dat de links om de content te laden niet in de content zelf geplaatst kunnen worden, ivm gekoppelde id's (vermoed ik).

Kan iemand mij adviseren in hoe ik dit op kan lossen?

Bedankt.

Anoniem: 26306

Dit is echt een no-go. Maak gewoon losse pagina's. Mensen zijn het gewend, het is eenvoudiger, beter voor zoekmachines, bookmarken, deeplinken, etcetera. Je zit op een verkeerd spoor.

  • Anoniem: 327097
  • Registratie: November 2009
  • Niet online
Dan twijfel ik toch aan je zoekkunsten, je kunt gewoon met $(selector).html('html'); de innerHTML wijzigen, je kunt dit nog evt combineren met ajax.

Als dit teveel is zou je eens kunnen google op jQuery Tools en dan op de 1e website kijken naar: Scrolling Tabs

  • macuz
  • Registratie: Mei 2004
  • Laatst online: 10-05 19:39
Bedankt voor je reactie!

Door je advies over de selector ben ik terecht gekomen bij {$('#target').load('extern.html #content');} welke prima lijkt te werken! Ik ga het proberen te implementeren en hoop dat het hiermee goed komt.

Ik post een update als het lukt. (voor toekomstige gebruikers)

  • jw_moonshine
  • Registratie: Oktober 2009
  • Laatst online: 06-09-2022
met Ajax gaat dat niet zo 1,2,3 lukken, want als je nieuwe content inlaad dan staat deze niet in de dom dus kun je niet zomaar een click event koppelen aan een ingeladen element. Wat je dus kan doen is "gewoon" een simpele .hide() en .show() mbv jquery. Wat wel een nadeel is dat je bij de page load gelijk alles inlaad.
bijv:
JavaScript:
1
2
3
4
5
6
7
$(document).load( function() {
 $("a.volgende").click(function(){
  this.hide();
  volgendeId = this.attr("id")+1;
  $("div#"+volgendeId).show(); 
 });
});

ff uit de losse pols geschreven. Gaat ervan uit dat je x aantal divs hebt met een genummerd id. Als je dus op de link met het id volgende klikt dan laat die de volgende zien.

[Voor 12% gewijzigd door jw_moonshine op 14-05-2011 15:17]


Anoniem: 26306

Oogkleppen op en gaan!

  • macuz
  • Registratie: Mei 2004
  • Laatst online: 10-05 19:39
@Cheatah

Het effect wordt alleen toegepast op korte, eenzijdige content welke voornamelijk bestaat uit afbeeldingen. Deep-linking is dus niet heel belangrijk en vanuit de optiek van de dienstverlening is beleving (dus met effecten), vandaar dus deze keuze. Ik ben het met je eens dat SEO en linking een belangrijke rol spelen, maar deze krijgen genoeg aandacht op andere (content rijkere) onderdelen van de site.

@jwkanjer

Bedankt, maar het lijkt me inderdaad wel storend als alle content eerst een moment zichtbaar is. Bovendien lijkt deze oplossing te werken? http://tinyurl.com/6xbul5t (nog zonder effect)

  • Manuel
  • Registratie: Maart 2008
  • Laatst online: 21:30
jwkanjer schreef op zaterdag 14 mei 2011 @ 15:13:
met Ajax gaat dat niet zo 1,2,3 lukken, want als je nieuwe content inlaad dan staat deze niet in de dom dus kun je niet zomaar een click event koppelen aan een ingeladen element.
Je kunt gewoon live events gebruiken met jQuery, zie ook:
http://api.jquery.com/live/
http://api.jquery.com/delegate/

Zolang je de events maar vooraf een waarde geeft is er niets loos en zal het gewoon werken.
Ik heb gekeken naar diverse ajax/jquery mogelijkheden zoals hier en hier, maar waar ik dan tegenaan loop is dat de links om de content te laden niet in de content zelf geplaatst kunnen worden, ivm gekoppelde id's (vermoed ik).
Doet mij denken aan een quote die hier ook wel eens wordt gezegd 'Assumption is the mother of all fuck-ups'. Niet vermoeden maar echt zeker weten waar het probleem zit.

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 15:37

MueR

Moderator Devschuur®

is niet lief

Goed, ik denk dat je nu wel vooruit kan. Wanneer je tegen een concreet probleem op loopt zien we daar graag een topic over, maar dan met wat code. Dit is feitelijk een scriptrequest. Lees ook onze Quickstart nog eens door.

Anyone who gets in between me and my morning coffee should be insecure.
Breng nu uw applicatie naar de kloot. Dat is veel beter! Nu samen met klootopslag. Voor maar €9,95. Doei doei!

Pagina: 1

Dit topic is gesloten.


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee