Nachladen jQuery-Funktion innerhalb einer anderen Funktion

dies ist ein tricksy, ich bin auch nicht sicher wie Wort, das der Titel für diese.

also, was ich habe, ist ein bisschen ein mix-up habe ich eine jQuery-Funktion aufgerufen slideonlyone, schaltet divs und innerhalb des divs habe ich ein jQuery-plugin namens der royalSlider(content slider).

was passiert ist, wenn ich zuerst das laden der Seite habe ich ein div-un-aktiviert standardmäßig und royalSlider plugin, funktioniert einwandfrei. der moment, als ich Sie wechseln die Seite, um ein weiteres div mit der royalSlider plugin, es schlägt fehl, die plugin.

den Kopf meiner Seite sieht so aus:

  <head>
    <link rel="stylesheet" href="/css/system.css" type="text/css">
    <link rel="stylesheet" href="/css/royalslider.css" type="text/css">
    <link rel="stylesheet" href="/css/default/rs-default-inverted.css" type="text/css">
    <script src="/js/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="/js/jquery.royalslider.js" type="text/javascript"></script>
    <script src="/js/systems_jquery.js" type="text/javascript"></script>

      <script type="text/javascript">
        function slideonlyone(thechosenone) {
        $('.systems_detail').each(function(index) {
        if ($(this).attr("id") == thechosenone) {
             $(this).slideDown(200);
        }
        else {
             $(this).slideUp(600);
        }
   });
  }
  </script>
</head>

den royalSlider in einer separaten Datei, die ich laden namens "systems_jquery.js'

 jQuery(document).ready(function($) {
  var rsi = $('#slider-in-laptop').royalSlider({
    autoHeight: false,
    arrowsNav: false,
    fadeinLoadedSlide: false,
    controlNavigationSpacing: 0,
    controlNavigation: 'bullets',
    imageScaleMode: 'fill',
    imageAlignCenter: true,
    loop: false,
    loopRewind: false,
    numImagesToPreload: 6,
    keyboardNavEnabled: true,
    autoScaleSlider: true,  
    autoScaleSliderWidth: 486,     
    autoScaleSliderHeight: 315
  }).data('royalSlider');
  $('#slider-next').click(function() {
    rsi.next();
  });
  $('#slider-prev').click(function() {
    rsi.prev();
  });
 });

dem html sieht so aus
ich habe das als eine Art kurze Zusammenfassung - wenn Sie klicken Sie auf das div-Element lädt die slideonlyone-Funktion, die schaltet den Produkte-details

  <a href="javascript:slideonlyone('beagle_box');">
    <div class="system_box">
      <h2>BEE management systems</h2>
      <p>________________</p>
    </div>
  </a>

Dies ist die Produkt-details in div.

<div class="systems_detail" id="sms_box">
  <div class="laptopBg">
    <img src="/images/laptop.png" class="imgBg" width="707" height="400">
    <div id="slider-in-laptop" class="royalSlider rsDefaultInv">
      <img src="/images/1.jpg">
      <img src="/images/2.jpg" data-rsvideo="https://vimeo.com/45778774">
      <img src="/images/3.jpg">
      <img src="/images/4.jpg">
    </div>
  </div>
</div>

wie Sie sehen können, dass abgesehen von den details ist der royalSlider es zeigt screenshots von dem Produkt. aber da Ihr gerade erst erscheinen die Bilder werden nicht geladen, in der slider und die Bilder werden angezeigt, unter einander, als ob das plugin defekt ist, aber wenn ich überprüfen Sie das element und gehen Sie zu der Konsole kann ich sehen, dass Ihr nicht gebrochen. also ich vermute, dass die royalSlider ist gehen zu müssen, um neu zu laden, wenn ich immer Umschalten, die div, so dass es findet die IDs wieder??

ist es möglich, die reload-royalSlider-Funktion, wenn ich immer Umschalten/Folie einige Inhalte aus meinem slidonlyone Funktion?

HINWEIS: wenn ich Umschalten, das div und die slider-Tropfen seine Inhalte, wenn ich die Seite neu laden, es holt Sie wieder ab. also seine definitiv der royalSlider brauchen, um neu zu laden, sobald ich toggeld die div -- oder die Seite neu laden, wenn ich umgeschaltet, die Seite.

  • kann man js fiddle..
  • es ist einfach zu viel Kram in den Dateien, die ich gerade zu schneiden, um einige zu zeigen, die grundlegenden Inhalte
InformationsquelleAutor TheLegend | 2013-01-28
Schreibe einen Kommentar