Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据间隔设置的数字显示图像_Javascript_Jquery_Svg - Fatal编程技术网

Javascript 根据间隔设置的数字显示图像

Javascript 根据间隔设置的数字显示图像,javascript,jquery,svg,Javascript,Jquery,Svg,我尝试从svg显示,根据间隔设置的数字显示层。我有两个随机数字从间隔10,99左右设置显示。这很好,但是,如果左| |右属于间隔10,20,我需要从svg显示层1banane1,然后,如果左| |右属于区间20,30,则显示svg中的层2banane2,依此类推,直到左| |右属于区间90,99,则显示层9banane2。从svg到显示有9个间隔和9个层。我编写的代码如下所示: 小提琴: 其中,panou0和panou1是2个svg,具有第2层编号,我在其中显示稍后从间隔设置的随机编号,以及9个

我尝试从svg显示,根据间隔设置的数字显示层。我有两个随机数字从间隔10,99左右设置显示。这很好,但是,如果左| |右属于间隔10,20,我需要从svg显示层1banane1,然后,如果左| |右属于区间20,30,则显示svg中的层2banane2,依此类推,直到左| |右属于区间90,99,则显示层9banane2。从svg到显示有9个间隔和9个层。我编写的代码如下所示:

小提琴:

其中,panou0和panou1是2个svg,具有第2层编号,我在其中显示稍后从间隔设置的随机编号,以及9个层,每个层具有不同的内容,必须根据随机编号显示

function randomIntFromInterval(min,max)
{
    return Math.floor(Math.random()*(max-min+1)+min);
};

function conditions(){
        left = randomIntFromInterval(10,99);
        right = randomIntFromInterval(10,99);

    for(var i = 0; i < 2; i++){
        ecuations.push(left, right);
        randoms = document.getElementById("panou" + i).contentDocument;
        numere = randoms.getElementById("number");      
        numere.textContent = ecuations[i];
        }    
};
在这里,我将panou0和panou1添加到svg中,从设定的间隔中随机生成数字

function setBananeState(state)
{
    for(var i = 1; i < 10; i++){
    svgItem = svgDoc.getElementById("banane" + i);
    svgItem.setAttribute("display", "none");  
    svgItem = svgDoc.getElementById(state);
    svgItem.setAttribute("display", "inline");
    }
};

    function getBanane(){
    if(left || right >= 30 && left || right <= 40){
        bananeState = "banane3";
        setBananeState(bananeState); 
    }
};

这里我有svg中的所有层,其中包含香蕉,根据给定的随机数显示,还有一个函数getBanane,如果随机数来自间隔10,20,它有条件根据svg的id显示layer1 banane1。不幸的是,这不起作用……如果随机数来自间隔10,20,我必须有8个条件显示svg中的层不同的间隔

这不起作用:

if(left || right == randomIntFromInterval(10,20)){
你们在这里做的是一个左加右的ORing,它将给你们一个布尔值,然后你们将它与randomIntFromInterval进行比较。我想你要做的是:

var interval = randomIntFromInterval(10,20);
if (left == interval || right == interval) {
编辑:好的,你改变了你的问题。那么现在这个,

if(left || right >= 30 && left || right <= 40){
虽然我也不确定这正是你想要的。因为这里如果left==0,right==41,那么这个语句就是真的。我认为您希望左侧或右侧在间隔内,因此您最好的检查方式是:

if ((left >= 30 && left <= 40) || (right >= 30 && right <= 40)) {

请修复代码中的格式和打字错误。你的问题已经很难在getBanane中不漏掉一个}了。如果你能把你的代码放在一把小提琴里,它可能也会很有帮助。当然,一分钟后我会加一把小提琴,这看起来好多了,这正是我需要的…但是如何使一个条件包括所有的间隔10,20,20,30,30,40…90,99dam…var interval现在从区间集中随机获得:我需要检查左或右是否属于该区间10,20,因此如果我的左或右是12,则返回true,如果左或右是21,则返回false
if ((left >= 30 || right >=30) && (left <= 40 || right <= 40)) {
if ((left >= 30 && left <= 40) || (right >= 30 && right <= 40)) {