简体   繁体   English

浏览到特定幻灯片-jQuery循环

[英]Browse to specific slide - jquery cycle

I have a page that features certain image thumbs from a custom field. 我有一个页面,其中包含来自自定义字段的某些图像标记。 What I need to do is have the link on the images thumbs link directly to it's image in the slider, the problem is that the slider is in other page not the same. 我需要做的是将图像缩略图上的链接直接链接到滑块中的图像,问题是滑块在其他页面中不一样。

This is the code i'm using to get the images from the custom post repeater field: 这是我用来从自定义后期转发器字段获取图像的代码:

<?php $query = new WP_Query( 'post_type=artworks_post&posts_per_page=-1&order=DESC' ); ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>

<?php  $slides = get_field('project_slider');  
    // Grabs the array
     if($slides) {     
       foreach($slides as $s) {  
              echo '<div id="project_slider" class="item"> ';     
              echo '<div class="aimagediv" >'; //
              echo '<a>';          
              echo '<img src="'.$s['project_image'].'" alt="" width="240" />';
              echo '</a>';
              echo '</div>'; //aimagediv     
              echo '<div class="art_title">';        
              echo '<p>SWEET LIFE</p>';        
              echo '</div>';        
              echo '<div class="mask">';        
              echo '</div>';  
              echo '</div>'; //first div
             }
         }
 ?>  
 <?php endwhile; // end of the loop. ?>

I'm using this to link to the slider page ( I know it's wrong link that way but I had to do it to show you how it links to slider): 我正在使用它来链接到滑块页面(我知道这种方式的链接是错误的,但是我必须这样做以向您展示它如何链接到滑块):

$('#project_slider').click(function() {
    location.href = '?page_id=42';
});

and this is the code of the jquery cycle plugin i'm using for the slider: 这是我用于滑块的jquery cycle插件的代码:

$("#slideshow").css("overflow", "hidden");

$('ul#slides').cycle({
    fx:       'fade',
    timeout:   0,
    prev: '#prev',
    next: '#next',
    after:     onAfter
});

function onAfter(curr,next,opts) {
    var caption = '' + (opts.currSlide + 1) + ' / ' + opts.slideCount;
    $('.project_number p').html(caption);
}

How can I fix to link each project to it's corresponding position in the slider, instead of always opening in the start image of the slider? 如何固定将每个项目链接到滑块中的相应位置,而不是始终在滑块的起始图像中打开它?

here it's a working example of what i'm trying to achieve: loscarpinteros.net/#exhibitions any image get's you to the link of it in the slider position. 这里是我要实现的工作示例:loscarpinteros.net/#exhibitions任何图像都可以将您带到滑块位置的链接。

<?php $query = new WP_Query( 'post_type=artworks_post&posts_per_page=-1&order=DESC' ); ?>
<?php while ( $query->have_posts() ) : $query->the_post(); ?>

<?php  $slides = get_field('project_slider');  
    // Grabs the array
     if($slides) {    
       $i = 0; 
       foreach($slides as $s) {  
              echo '<div id="project_slider" counter="'.$i++.'" class="item"> ';     
              echo '<div class="aimagediv" >'; //
              echo '<a>';          
              echo '<img src="'.$s['project_image'].'" alt="" width="240" />';
              echo '</a>';
              echo '</div>'; //aimagediv     
              echo '<div class="art_title">';        
              echo '<p>SWEET LIFE</p>';        
              echo '</div>';        
              echo '<div class="mask">';        
              echo '</div>';  
              echo '</div>'; //first div
             }
         }
 ?>  
 <?php endwhile; // end of the loop. ?>

in JS 在JS中

$('#project_slider').click(function() {
    location.href = '?page_id=42&slide='+$(this).attr('counter');
});

and in JQuery cycle 并在JQuery周期中

function getURLParameter(name) {
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null;
}

$("#slideshow").css("overflow", "hidden");

$('ul#slides').cycle({
    fx:       'fade',
    timeout:   0,
    prev: '#prev',
    next: '#next',
    after:     onAfter,
    startingSlide:     getURLParameter('slide'),
});

function onAfter(curr,next,opts) {
    var caption = '' + (opts.currSlide + 1) + ' / ' + opts.slideCount;
    $('.project_number p').html(caption);
}

BTW you can make href of a tag in your php loop. 顺便说一句,您可以在PHP循环中a标签的href

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM