Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   зависимая видимость (https://javascript.ru/forum/events/41864-zavisimaya-vidimost.html)

рони 02.10.2013 16:07

danik.js,
Цитата:

Сообщение от lukasss
Возможно ли организовать событие которое срабатывает когда хотя бы одно поле внутри fieldset становиться видимым. Как это записать на jquery?

несмотря на ваш код сильно сомневаюсь что такое возможно - немоглибы вы живой пример написать - некий Observer нужен по моему

sotik 06.10.2013 19:03

Не стал новую тему заводить...
Есть вот такой вот массив:
var krug = ["Фа","До","Соль","Ре","Ля","Ми","Си"];

Есть форма,в которой задается количество знаков и два переключателя- диез и бемоль.
Как в зависимости от состояния переключателя вывести нужное количество нот?
Например,переключатель стоит "диез" и 2 знака,
Значит выводим сначала массива, то есть "Фа", "До".
Если же положение "бемоль" и количество стоит тоже 2, то выводим"Си", "Ми".
Последовательность именно такая.

рони 06.10.2013 19:25

sotik,
:-?
function get(n,d)
{
    var krug = ["Фа","До","Соль","Ре","Ля","Ми","Си"];
    d ==  "бемоль" && krug.reverse();
    return krug.splice(0, n)
}
alert(get(2));
alert(get(2, "бемоль"));

sotik 06.10.2013 20:34

Спасибо большое.
Можно пояснить 4 и 5 строчку?
Как я понимаю: Если d=="bemol", то переворачиваем массив,так? просто для меня несколько необычная форма условия.
А в 5 сроке соединяем вроде как нужное кол-во элементов массива?
Как грамотно сказать?

рони 06.10.2013 21:27

sotik,
Цитата:

slice
Возвращает подмассив (часть исходного массива).

sotik 06.10.2013 23:15

Хорошо.А как вернуть массив в исходное состояние в случае его переворачивания(после return конечно же) ?

рони 06.10.2013 23:21

Цитата:

Сообщение от sotik
А как вернуть массив в исходное состояние в случае его переворачивания

а цель?

sotik 07.10.2013 01:05

Потому что в другой функции код работает с оригинальным массивом:
//Соответствие с тональностью
if(radios[2].value=="Не соотносить с апликатором"){
if(k>0){
if(krug.indexOf(alt)<k && radios[0].checked)valton++;
if(krug.indexOf(alt)>6-k && radios[1].checked)valton--;
}
}

Переменная alt - это элемент массива;
Переменная k - количество знаков.

рони 07.10.2013 01:24

sotik,
и как ваш код связан с моим?

sotik 07.10.2013 05:36

Очень просто.
В нашу функцию мы попадаем из формы когда меняем знаки,а из нее в функцию обработки ноты:
Если знаки не меняются,то основная функция(обработки ноты) работает с исходным массивом krug.
var id = "e";
document.onclick = function( e ){
//Соответствие с тональностью
if(radios[2].value=="Не соотносить с апликатором"){
if(k>0){
if(krug.indexOf(alt)<k && radios[0].checked)valton++;
if(krug.indexOf(alt)>6-k && radios[1].checked)valton--;
}
}
}
//функция обработки знаков
...
document.getElementById(id).click();


Часовой пояс GMT +3, время: 02:50.