2017-10-16 16 views
0

Je voudrais ouvrir automatiquement Lightbox lorsque j'ouvre la page. Ceci est une page éditée pour wordpress plug-in -> portfolio de carrière. c'est possible? MerciOuvrir la visionneuse sur la page de chargement

J'ai créé un lien d'image dans la page à iframe Lightbox à portfolio. Les bonnes solutions sont de voir la galerie directement ouverte.

Merci pour votre temps

<script> 
(function($) { 
    jQuery('#gallery').crpTiledLayer({}); 

    $(".crp-light-gallery").each(function() { 
     var id = $(this).attr("id"); 
     $("#" + id).lightGallery({ 
     mode: 'slide', 
     useCSS: true, 
     cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)',// 
     easing: 'linear', //'for jquery animation',// 
     speed: 600, 
     addClass: '', 

     closable: true, 
     loop: true, 
     auto: false, 
     pause: 6000, 
     escKey: true, 
     controls: true, 
     hideControlOnEnd: false, 

     preload: 1, //number of preload slides. will exicute only after the current slide is fully loaded. ex:// you clicked on 4th image and if preload = 1 then 3rd slide and 5th slide will be loaded in the background after the 4th slide is fully loaded.. if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... 
     showAfterLoad: true, 
     selector: null, 
     index: false, 

     lang: { 
      allPhotos: 'All photos' 
     }, 
     counter: false, 

     exThumbImage: false, 
     thumbnail: true, 
     showThumbByDefault:false, 
     animateThumb: true, 
     currentPagerPosition: 'middle', 
     thumbWidth: 150, 
     thumbMargin: 10, 


     mobileSrc: false, 
     mobileSrcMaxWidth: 640, 
     swipeThreshold: 50, 
     enableTouch: true, 
     enableDrag: true, 

     vimeoColor: 'CCCCCC', 
     youtubePlayerParams: false, // See: https://developers.google.com/youtube/player_parameters, 
     videoAutoplay: true, 
     videoMaxWidth: '855px', 

     dynamic: false, 
     dynamicEl: [], 

     // Callbacks el = current plugin 
     onOpen  : function(el) {}, // Executes immediately after the gallery is loaded. 
     onSlideBefore : function(el) {}, // Executes immediately before each transition. 
     onSlideAfter : function(el) {}, // Executes immediately after each transition. 
     onSlideNext : function(el) {}, // Executes immediately before each "Next" transition. 
     onSlidePrev : function(el) {}, // Executes immediately before each "Prev" transition. 
     onBeforeClose : function(el) {}, // Executes immediately before the start of the close process. 
     onCloseAfter : function(el) {}, // Executes immediately once lightGallery is closed. 
     onOpenExternal : function(el) { 
      var href = $(el).attr("data-url"); 
      crp_loadHref(href,true); 
     }, // Executes immediately before each "open external" transition. 
     onToggleInfo : function(el) { 
      var $info = $(".lg-info"); 
      if($info.css("opacity") == 1){ 
      $info.fadeTo("slow",0); 
      }else{ 
      $info.fadeTo("slow",1); 
      } 
     } // Executes immediately before each "toggle info" transition. 
     }); 
    }); 

    jQuery(".tile").on('click', function (event){ 
     event.preventDefault(); 
     if(jQuery(event.target).hasClass("fa") && !jQuery(event.target).hasClass("zoom")) return; 

     var tileId = jQuery(this).attr("id"); 
     var target = jQuery("#" + tileId + " .crp-light-gallery li:first"); 
     target.trigger("click"); 
    }); 
})(jQuery); 

<div class="crp-wrapper"> 
<div id="gallery"> 
    <div id="ftg-items" class="ftg-items"> 
     <?php foreach($crp_portfolio->projects as $crp_project): ?> 
      <div id="crp-tile-<?php echo $crp_project->id?>" class="tile"> 
       <?php 
        $coverInfo = CRPHelper::decode2Str($crp_project->cover); 
        $coverInfo = CRPHelper::decode2Obj($coverInfo); 
        $meta = CRPHelper::getAttachementMeta($coverInfo->id, $crp_portfolio->options[CRPOption::kThumbnailQuality]); 
       ?> 

       <a id="<?php echo $crp_project->id ?>" class="tile-inner"> 
        <img class="crp-item" src="<?php echo $meta['src'] ?>" data-width="<?php echo $meta['width']; ?>" data-height="<?php echo $meta['height']; ?>" /> 
        <div class="caption"></div> 
       </a> 

       <ul id="crp-light-gallery-<?php echo $crp_project->id; ?>" class="crp-light-gallery" style="display: none;" data-sub-html="<?php echo crp_infoBox($crp_project)?>" data-url="<?php echo isset($crp_project->url) ? $crp_project->url : ''; ?>"> 
        <?php 
         $meta = CRPHelper::getAttachementMeta($coverInfo->id); 
         $metaThumb = CRPHelper::getAttachementMeta($coverInfo->id, "medium"); 
        ?> 

        <li data-src="<?php echo $meta['src']; ?>" > 
         <a href="#"> 
          <img src="<?php echo $metaThumb['src']; ?>" /> 
         </a> 
        </li> 

        <?php foreach($crp_project->pics as $pic): ?> 
         <?php if(!empty($pic)): ?> 
          <?php 
           $picInfo = CRPHelper::decode2Str($pic); 
           $picInfo = CRPHelper::decode2Obj($picInfo); 

           $meta = CRPHelper::getAttachementMeta($picInfo->id); 
           $metaThumb = CRPHelper::getAttachementMeta($picInfo->id, "medium"); 
          ?> 

          <li data-src="<?php echo $meta['src']; ?>"> 
           <a href="#"> 
            <img src="<?php echo $metaThumb['src']; ?>" /> 
           </a> 
          </li> 
         <?php endif; ?> 
        <?php endforeach; ?> 
       </ul> 
      </div> 
     <?php endforeach; ?> 
    </div> 
</div> 

Je Hève résolu avec ce code à la fin de js:

 window.setTimeout('clickit()',20); 
    function clickit(){ document.getElementById("<?php echo $crp_project->id ?>").click(); 
    } 
+0

quels résultats êtes-vous maintenant par rapport à ce que vous voulez? vous n'avez pas mentionné cela. –

+0

Maintenant fonctionne correctement avec le clic mais je voudrais ouvrir automatiquement la visionneuse sans clic. –

Répondre

0
<div onload="script();" class="crp-wrapper"> 
<div id="gallery"> 
    <div id="ftg-items" class="ftg-items"> 
     <?php foreach($crp_portfolio->projects as $crp_project): ?> 
      <div id="crp-tile-<?php echo $crp_project->id?>" class="tile"> 
       <?php 
        $coverInfo = CRPHelper::decode2Str($crp_project->cover); 
        $coverInfo = CRPHelper::decode2Obj($coverInfo); 
        $meta = CRPHelper::getAttachementMeta($coverInfo->id, $crp_portfolio->options[CRPOption::kThumbnailQuality]); 
       ?> 

       <a id="<?php echo $crp_project->id ?>" class="tile-inner"> 
        <img class="crp-item" src="<?php echo $meta['src'] ?>" data-width="<?php echo $meta['width']; ?>" data-height="<?php echo $meta['height']; ?>" /> 
        <div class="caption"></div> 
       </a> 

       <ul id="crp-light-gallery-<?php echo $crp_project->id; ?>" class="crp-light-gallery" style="display: none;" data-sub-html="<?php echo crp_infoBox($crp_project)?>" data-url="<?php echo isset($crp_project->url) ? $crp_project->url : ''; ?>"> 
        <?php 
         $meta = CRPHelper::getAttachementMeta($coverInfo->id); 
         $metaThumb = CRPHelper::getAttachementMeta($coverInfo->id, "medium"); 
        ?> 

        <li data-src="<?php echo $meta['src']; ?>" > 
         <a href="#"> 
          <img src="<?php echo $metaThumb['src']; ?>" /> 
         </a> 
        </li> 

        <?php foreach($crp_project->pics as $pic): ?> 
         <?php if(!empty($pic)): ?> 
          <?php 
           $picInfo = CRPHelper::decode2Str($pic); 
           $picInfo = CRPHelper::decode2Obj($picInfo); 

           $meta = CRPHelper::getAttachementMeta($picInfo->id); 
           $metaThumb = CRPHelper::getAttachementMeta($picInfo->id, "medium"); 
          ?> 

          <li data-src="<?php echo $meta['src']; ?>"> 
           <a href="#"> 
            <img src="<?php echo $metaThumb['src']; ?>" /> 
           </a> 
          </li> 
         <?php endif; ?> 
        <?php endforeach; ?> 
       </ul> 
      </div> 
     <?php endforeach; ?> 
    </div> 
</div> 

JavaScript:

<script> 
    function script() 
{ 
    jQuery('#gallery').crpTiledLayer({}); 

    $(".crp-light-gallery").each(function() { 
     var id = $(this).attr("id"); 
     $("#" + id).lightGallery({ 
     mode: 'slide', 
     useCSS: true, 
     cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)',// 
     easing: 'linear', //'for jquery animation',// 
     speed: 600, 
     addClass: '', 

     closable: true, 
     loop: true, 
     auto: false, 
     pause: 6000, 
     escKey: true, 
     controls: true, 
     hideControlOnEnd: false, 

     preload: 1, //number of preload slides. will exicute only after the current slide is fully loaded. ex:// you clicked on 4th image and if preload = 1 then 3rd slide and 5th slide will be loaded in the background after the 4th slide is fully loaded.. if preload is 2 then 2nd 3rd 5th 6th slides will be preloaded.. ... ... 
     showAfterLoad: true, 
     selector: null, 
     index: false, 

     lang: { 
      allPhotos: 'All photos' 
     }, 
     counter: false, 

     exThumbImage: false, 
     thumbnail: true, 
     showThumbByDefault:false, 
     animateThumb: true, 
     currentPagerPosition: 'middle', 
     thumbWidth: 150, 
     thumbMargin: 10, 


     mobileSrc: false, 
     mobileSrcMaxWidth: 640, 
     swipeThreshold: 50, 
     enableTouch: true, 
     enableDrag: true, 

     vimeoColor: 'CCCCCC', 
     youtubePlayerParams: false, // See: https://developers.google.com/youtube/player_parameters, 
     videoAutoplay: true, 
     videoMaxWidth: '855px', 

     dynamic: false, 
     dynamicEl: [], 

     // Callbacks el = current plugin 
     onOpen  : function(el) {}, // Executes immediately after the gallery is loaded. 
     onSlideBefore : function(el) {}, // Executes immediately before each transition. 
     onSlideAfter : function(el) {}, // Executes immediately after each transition. 
     onSlideNext : function(el) {}, // Executes immediately before each "Next" transition. 
     onSlidePrev : function(el) {}, // Executes immediately before each "Prev" transition. 
     onBeforeClose : function(el) {}, // Executes immediately before the start of the close process. 
     onCloseAfter : function(el) {}, // Executes immediately once lightGallery is closed. 
     onOpenExternal : function(el) { 
      var href = $(el).attr("data-url"); 
      crp_loadHref(href,true); 
     }, // Executes immediately before each "open external" transition. 
     onToggleInfo : function(el) { 
      var $info = $(".lg-info"); 
      if($info.css("opacity") == 1){ 
      $info.fadeTo("slow",0); 
      }else{ 
      $info.fadeTo("slow",1); 
      } 
     } // Executes immediately before each "toggle info" transition. 
     }); 
    }); 

    jQuery(".tile").on('click', function (event){ 
     event.preventDefault(); 
     if(jQuery(event.target).hasClass("fa") && !jQuery(event.target).hasClass("zoom")) return; 

     var tileId = jQuery(this).attr("id"); 
     var target = jQuery("#" + tileId + " .crp-light-gallery li:first"); 
     target.trigger("click"); 
    }; 
})(jQuery); 
+0

avec ces solutions l'image est grande mais ne fonctionne pas la visionneuse, le lien ne fonctionne pas: la main est visible mais ne fonctionne pas –

+0

Je pense que le lien vers cette Lightbox est: var target = jQuery ("#" + tileId + ".crp -light-gallery li: premier "); J'essaie d'utiliser window.setTimeout ('clickit()', 10); \t \t function clickit() { \t \t location.href = document.getElementById (""); \t \t} mais je ne suis pas capable. –