Archief - Flexslider 2

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Scissor

Legacy Member
Ik probeer via een .load een gallery van flexslider 2 in te laden, maar krijg ze maar niet aan de praat. Iemand enig idee? Zit tijdje op zitten zoeken maar vind het dus echt niet :s

SANDER MUYLAERT | Photographer

is de pagina. Vervolgens op "Dit is Belgisch" klikken en dan zou de flexslider uit test.htm moeten worden geladen. Ik zie enkel een wit balkje verschijnen. Images worden wel mooi ingeladen, maar de gallery werkt niet. Scripts worden ook correct geladen. Grrrrrrrr :angry:

d-zilla

Legacy Member
je moet je flexslider nog oproepen na het laden van test, iets in de richting van $('.flexslider').flexslider();

Scissor

Legacy Member
Script wordt nog uitgevoerd volgens jQuery:

When calling .load() using a URL without a suffixed selector expression, the content is passed to .html() prior to scripts being removed. This executes the script blocks before they are discarded.

Toch's geprobeerd om idd in portfolio 's nog's extra op te roepen bij mijn onclick event maar ook dat werkt niet.

W0utR

Legacy Member
Waar exact staat je code voor een flexslider aan te maken?

Code:
 $('#contentright').load('test');
dat gaat zoiezo al .load('test.htm') moeten zijn, dan ga je moeten wachten tot dit geladen is om je flexslider aan te maken.

Scissor

Legacy Member
Die test werkt ook zonder htm aangezien die door m'n htaccess wordt herschreven.

De code van m'n test.htm is de volgende

Code:
<!doctype html>
<html class="no-js">  
<head>
    <meta charset=utf-8>
    <title></title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="flexslider.css" type="text/css">
</head>
<body>
  <div id="test">
      <div class="flexslider">
            <ul class="slides">
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
              <li>
                <img src="https://www.beyondgaming.be/forums" />
              </li>
            </ul>
     </div>
    </div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="jquery.flexslider.js"></script>
<script>
  $(window).load(function() {
    $('.flexslider').flexslider();
  });
</script>

De meest basic versie om flexslider te doen werken. Werkt perfect als 'k de pagina test.htm alleen bekijk, maar inladen in die div blijkt niet te lukken. Gallery wordt ingeladen met een onclick-event en dan pas wordt het script uitgevoerd via de test.htm. Aangezien er geen specifieke selectors zijn zouden de scripts nog moeten worden uitgevoerd. Deze methode werkte ook al bij een andere gallery die jQuery based was, maar flexslider krijg'k op deze manier voorlopig niet aan de praat.

W0utR

Legacy Member
Daarmee dat het dus fout loopt, wanneer je een pagina inlaad via javascript word de javascript in die pagina niet uitgevoerd, wanneer je dus $('#contentright').load('test'); doet ga je dus moeten wachten op de complete

Code:
$('#contentright').load('test', function() {
    $('.flexslider').flexslider();
})

Scissor

Legacy Member
Zegt jQuery Api nu niet net het omgekeerde? Nl. Dat de scripts wel nog worden uitgevoerd?

When calling .load() using a URL without a suffixed selector expression, the content is passed to .html() prior to scripts being removed. This executes the script blocks before they are discarded.

In een gelijkaardig project met een andere JQuery gallery deed ik het als volgt:

- In de portfolio pagina laad je de css en de scripts (zowel jQuery als het script van de gallery in).

- Op de pagina die je load enkel de <ul> en execute je het script . Dat werkte toen perfect.

Edit: Fout gevonden! Was zo stom geweest om nog's $(window).load(function() { toe te voegen aan mijn execute. Thanks alvast voor de reply's! Works like a charm nu.

d-zilla

Legacy Member
Wel maar een vuile manier eigenlijk om die foto's zo in te laden

Scissor

Legacy Member
Hoezo? Ik ben nog maar vrij nooby in webdesign dus alle tips/tricks zijn welkom. Maar op deze manier vermijd je flash, moet je je pagina niet elke keer volledig opnieuw inladen. Als er alternatieven zijn die beter practice zijn en 't zelfde doen, please show me! :)

d-zilla

Legacy Member
Gewoon er voor zorgen dat ze al ingeladen zijn bij pageload? (maar nog niet zichtbaar)
Zo moet je dus geen extra request doen

Scissor

Legacy Member
Maar verlengt dat niet de laadtijd van je pagina? 's Inderdaad misschien wel beter om standaard al 1 gallery te laten inladen maar bij een nieuwe gallery moet je dan toch een nieuwe request doen? Of bedoel jij alle gallery's al op voorhand inladen?
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan