2

首先我的代码:

html

 <div class="product_image m2" id="m2"><a href="#" id="10" class='multi2'>test..</a></div>

JS

 $(document).ready(function(){

     $("#m2 a").bind("click", function() {
        var value = $( this ).attr( 'id' );
        alert(value);
        return false;
    });


    if ($(".multi2").length > 0){
    
           $(".multi2").yoxview({
           
                cacheImagesInBackground:true,
                skin: "top_menu",
                lang: "hu",
                
                images: [
        
                { media: { src: 'images/galeria/cella/image01'+value+'.JPG', title: 'Cella hegesztő' }},
                { media: { src: 'images/galeria/cella/image015.JPG', title: 'Cella hegesztő' }},
                { media: { src: 'images/galeria/cella/image013.JPG', title: 'Cella hegesztő' }},
            
            
            ]
            });
    }

 });

所以,我使用 Yoxview。Multi2 类定义图像以及当用户单击链接(或缩略图)时。灯箱显示和幻灯片开始。

幻灯片每次都从 JS 中定义的第一个图像开始。我想改变这一点,所以我想将 m2 div 中的 href 的 id 传递给图像列表。

不幸的是我不能这样做。我尝试了这段代码,但是脚本崩溃了。如何将 VALUE 传递给图像列表?

4

1 回答 1

2

试试下面的代码,这可能会起作用,但不是一个好的解决方案。

编辑
顺便说一句,Kanishka 提到以数字开头的 ID 是不合法的。您可以将照片 ID 存储为自定义属性<a href="#"... data-photoid="2" ... />并使用jquery data() $(this).data('photoid')获取它。

$(document).ready(function(){
     $("#m2 a").bind("click", function() {
        var value = $( this ).attr( 'id' );
            if(!$(this).data('yoxed')) {
                 $(this).yoxview({

                    cacheImagesInBackground:true,
                    skin: "top_menu",
                    lang: "hu",

                    images: [
                       { media: { src: 'images/galeria/cella/image01'+value+'.JPG', title: 'Cella hegeszto' }},
                       { media: { src: 'images/galeria/cella/image015.JPG', title: 'Cella hegeszto' }},
                       { media: { src: 'images/galeria/cella/image013.JPG', title: 'Cella hegeszto' }}
                    ]
                  });
                 $(this).data('yoxed', true).trigger('click');
            }
        }

        return false;
    });
});
于 2012-08-28T08:45:52.330 回答