【问题标题】:JQUERY - How to revapi[ VARIABLE HERE ].revnext(); ?JQUERY - 如何修改 [这里的变量].revnext(); ?
【发布时间】:2015-03-05 05:55:23
【问题描述】:

我有这个 API 方法:

revapi17.revnext();  

这让我转到 SLIDER 编号 17 内的下一张幻灯片。

我有 30 多个滑块,我必须做这样的事情

revapi1.revnext(); 
revapi2.revnext(); 
revapi3.revnext(); 
revapi4.revnext(); 

....

我想插入一个变量而不是数字“17”

这是我的代码:

numberArray = [14,15,16,17,18,5];
jQuery.each(numberArray , function(index, value){
$(".div"+value).click(function(){
revapiVALUE.revnext();
}
}       

这就是我想做的事情

在 DIV14 里面做 revapi14.revnext(); 在 DIV15 里面做 revapi15.revnext();

有什么想法吗?

【问题讨论】:

    标签: jquery string api variables methods


    【解决方案1】:

    这是您的解决方案,简单的 Google 搜索:

    How to Call a JavaScript Function From a String Without Using eval

    文章相关部分:

    // function we want to run
    var fnstring = "runMe";
    
    // find object
    var fn = window[fnstring];
    
    // is object a function?
    if (typeof fn === "function") fn();
    

    编辑

    var numberArray = [14,15,16,17,18,5];
    jQuery.each(numberArray, function(index, value) {
        $('.div' + value).click(function() {
            var fn = window['revapi' + value];
            if (typeof fn === 'object') fn.revnext();
        }
    }
    

    【讨论】:

    • 我相信在您的情况下,您可能会检查类型是否为function,而不是检查类型是否为object
    • 我在主要部分回答,因为它不允许我在此处的 cmets 中插入代码。
    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多