2016-04-04 6 views
0

Я хочу о использовать функцию с тем же именем в JS, в основном есть одна ссылка:функция Javascript с таким же именем

<a onClick="showjury1();" >show</a> 

, когда пользователь находится на рабочем столе, я хочу этот код будет выполняться:

if (window.screen.width >= 1150) { 
    function showjury1() { 
    document.getElementById("jury1").style.display = "block"; 
    document.getElementById("juryline1").style.display = "none"; 
    } 
} 

и когда пользователь находится на мобильном телефоне или в любом другом разрешении я хочу этот код будет выполняться:

if (window.screen.width <= 500) { 
    function showjury1() { 
    document.getElementById("jury1").style.display = "none"; 
    document.getElementById("juryline1").style.display = "block"; 
    } 
} 

это ро ssible? Я выполнил его, и он дает ошибки; jury1 не определен и т. д.

+0

Каковы точные ошибки? –

+0

Почему бы не добавить условие ширины экрана внутри тела функции? Таким образом, у вас может быть одна функция –

+0

, она дает ошибки, такие как showjury1, jury1, juryline1 не определены. –

ответ

2

Зачем вам нужно определить эту функцию дважды? Просто используйте свой условный оператор правильно

function showjury1() 
{ 
    if(window.screen.width >= 1150) 
    { 
     document.getElementById("jury1").style.display = "block"; 
     document.getElementById("juryline1").style.display = "none"; 
    } 
    else if(window.screen.width <= 500) 
    { 
     document.getElementById("jury1").style.display = "none"; 
     document.getElementById("juryline1").style.display = "block"; 
    } 
    else 
    { 
     // might want to do something here too 
    } 
} 
+0

он работает на рабочем столе, но когда я нажимаю ctrl + shft + m, он дает ошибки, что означает, что он не выполняет код после else if (window.screen.width <= 500) –

+0

Это не волшебное исполнение, если вы измените размер экрана , Вы вызываете его только при нажатии кнопки. Поэтому после изменения размера экрана вы можете снова щелкнуть ссылку –

+0

no its not working –

0

Вы можете поставить условие в функции, то вам не нужно определить ту же функцию дважды, потому что это не возможно, как вы хотите быть.

function showjury1 { 
if(window.screen.width >= 1150) 
{ 
    document.getElementById("jury1").style.display = "block"; 
    document.getElementById("juryline1").style.display = "none"; 
} 
else if(window.screen.width <= 500) 
{ 
    document.getElementById("jury1").style.display = "none"; 
    document.getElementById("juryline1").style.display = "block";` 
} 
} 
0

Вместо определения вашей showjury1 функции внутри вашей if заявления, положить ваши if заявления внутри showjury1 функции.

showjury1(){ 
    if(check window width){...} 
    else if(check different width){....} 
} 

и убедитесь, что ваш HTML загружен, прежде чем ваш Javascript в противном случае вы получите неопределенное сообщение об ошибке при попытке нажать на кнопку, которая вызывает вашу функцию.

1

Вы также можете сделать что-то вроде:

if(window.screen.width >= 1150){ 
    window.showjury1 = function(){ 
    ... 
    } 
}else{ 
    window.showjury1 = function(){ 
    ... 
    } 
}