2017-02-05 3 views
0

С помощью приведенного ниже кода я хочу, чтобы функция запускалась, когда она вызывалась, на данный момент ничего не происходит, недопустимо ли название функции?JavaScript - функция не работает

function zoom(d) { 
    if (d == "in") 
    $("#animation_border").css("height", ($(window).height() * 100/85) + "px"); 
    else 
    $("#animation_border").css("height", (canvas.width * 0.719) + "px"); 

} 

if ($(window).width() >= 619) { 
    zoom("out"); 
} else { 
    zoom("in"); 
} 
} 
+0

Вы пытаетесь сделать 'zoom', когда размер окна изменяется? –

+0

Код выглядит ОК, просто «}» в конце. выполняете ли вы это по готовому документу, изменению размера окна или другим действиям? –

+1

Если вы ожидаете, что что-то произойдет при изменении размера окна, тогда запишите событие изменения размера окна и введите там свой код '$ (window) .resize (function() {/ * YOUR CODE HERE * /})' – Developer

ответ

2

Я предполагаю, что вы хотите, чтобы вызвать функцию zoom() при изменении размеров окна. Если да, то мы можем использовать $(window).resize() событие, чтобы получить то, что вы хотите:

function zoom(d) { 
    if (d == "in") { 
    // Your code here 
    } else { 
    // Your code here 
    }; 
} 

// Automatically called when window is resized 
$(window).resize(function() { 
    if ($(window).width() >= 619) { 
    zoom("out"); 
    } else { 
    zoom("in"); 
    }; 
}) 

Рабочая JSFidde: https://jsfiddle.net/209m4esk/2/

Как примечание стороны, было бы более эффективным, чтобы сравнить логическое значение в вашей zoom() функции, а не строка. Мы также должны учитывать недопустимые параметры, предоставляемые этой функции. то есть:

function zoom(zoomIn) { 
    if (typeof(zoomIn) !== "boolean") { 
     console.log("Parameter given is not a boolean."); 
    } else if (zoomIn) { 
    // Your code here 
    } else { 
    // Your code here 
    }; 
} 

Итак вы бы просто позвонить zoom(true), чтобы увеличить и zoom(false) для уменьшения масштаба.

1
  • первый у вас есть }
  • поместить ваш код в window.resize

    (function(){ 
    function zoom(d) { 
        if (d == "in") 
        $("#animation_border").css("height", ($(window).height() * 100/85) + "px"); 
        else 
        $("#animation_border").css("height", (canvas.width * 0.719) + "px"); 
    
    } 
    
    $(window).resize(function(){ 
        if ($(window).width() >= 619) { 
         zoom("out"); 
        } else { 
         zoom("in"); 
        } 
    })})(); 
    
+0

я обновляю свой ответ –

Смежные вопросы