简单的jQuery - name函数然后调用它

时间:2018-01-04 14:23:54

标签: javascript jquery html function

坦率地说,令人尴尬的是,当它确实存在并且我无法自己解决时,我无法找到解决方案。尽管如此...

我想构建一个函数,然后在条件满足时调用它,并且在调用时我想引用函数然后与之交互的元素。因此,例如,我想引用一个div并让函数隐藏一堆div,然后根据满足的条件显示引用的div。所有这些都发生在文件准备就绪上。

我有下面的元素与类' .hero-slide'按预期隐藏,但#hero#slide-2'和' 3'不要表明:

function showHeroSlide() {
    $('.hero-slide').css({ 'display' : 'none' });
    $(this).css({ 'display' : 'block' });
}

if (bgFilename === '02.jpg') {
    showHeroSlide('#hero-slide-2');
}
else if (bgFilename === '03.jpg') {
    showHeroSlide('#hero-slide-3');
}
else {
    ... 
}

3 个答案:

答案 0 :(得分:3)

function showHeroSlide(slide) {
    $('.hero-slide').css({ 'display' : 'none' });
    $(slide).css({ 'display' : 'block' });
}

答案 1 :(得分:1)

您已经定义了一个不接受任何参数的函数。通过id#hero-slide-2& #hero-slide-3作为参数。

function showHeroSlide(elem) {
   $('.hero-slide').css({ 'display' : 'none' });
   $(elem).css({ 'display' : 'block' });
}

答案 2 :(得分:1)

如果您想根据文件名决定,请尝试以下方法:

function showHeroSlide(bgFileName) {
  $('.hero-slide').css({ 'display' : 'none' });
  $('#hero-slide-'+parseInt(bgFileName,10).css({ 'display' : 'block' });
}


var bgFilename = "02.jpg";
showHeroSlide(bgFilename);