将值发送到jquery函数

时间:2015-11-06 16:19:51

标签: jquery magnific-popup

我尝试将值发送到jquery函数,在函数内部我有一些类,我需要在每种情况下发送一些变量

function videos_pop(idv)
{
jQuery('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({
disableOn: 700,
type:'iframe',
mainClass:'mfp-fade',
removalDelay:160,
preloader:false,
fixedContentPos:false
});
}

在这种情况下,传递内部函数的值是(idv),我需要将这个添加到每个类的末尾,如下所示:

  

jQuery('。popup-youtube ** + idv **,.popup-vimeo ** + idv **,.popup-gmaps ** + idv **')。magnificPopup({

我认为这个问题写得很糟糕,并且没有把这个值传递给函数,因为我习惯于必须特别写,因为('')里面的类和由

分隔

只有这就是问题所在,感谢您对此的帮助,问候

1 个答案:

答案 0 :(得分:0)

最简单的方法是连接选择器的字符串。

function videos_pop(idv)
{
    var selector = '.popup-youtube' + idv + ', .popup-vimeo' + idv + ', .popup-gmaps' + idv;
    jQuery(selector).magnificPopup({
        disableOn: 700,
        type:'iframe',
        mainClass:'mfp-fade',
        removalDelay:160,
        preloader:false,
        fixedContentPos:false
    });
}

您还可以在该选择器中放置占位符,然后使用.split().join()的组合。

function videos_pop(idv)
{
    var selector = '.popup-youtube[idv], .popup-vimeo[idv], .popup-gmaps[idv]'
        .split('[idv]')
        .join(idv);
    jQuery(selector).magnificPopup({
        disableOn: 700,
        type:'iframe',
        mainClass:'mfp-fade',
        removalDelay:160,
        preloader:false,
        fixedContentPos:false
    });
}

...或创建正则表达式并使用.replace()(只需记住全局g标志)。

function videos_pop(idv)
{
    var selector = '.popup-youtube[idv], .popup-vimeo[idv], .popup-gmaps[idv]'
        .replace(/\[idv\]/g, idv);
    jQuery(selector).magnificPopup({
        disableOn: 700,
        type:'iframe',
        mainClass:'mfp-fade',
        removalDelay:160,
        preloader:false,
        fixedContentPos:false
    });
}