Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Несколько сценариев одной функцией (https://javascript.ru/forum/events/34781-neskolko-scenariev-odnojj-funkciejj.html)

Marker 18.01.2013 22:46

Несколько сценариев одной функцией
 
Добрый день, пытаюсь написать несколько сценариев одно функцией.

И так..

function change1() {
change1(document.getElementById("center"));
}
function change1(popox) {
if (popox == document.getElementById("products")) {
document.getElementById("center").innerHTML = "Products"
} 
}

function change1(popox1) {
if (popox1 == document.getElementById("services")) {
document.getElementById("center").innerHTML = "Services"
} 
}


<div onclick="change1()" class="products"></div>
<div onclick="change1()" class="services"></div>


При клике на products, отображает то что должно быть у services. Тоесть не работает.
В чем тут проблема? Или как правильно написать два сценария одной функцией?

Deff 18.01.2013 22:55

Цитата:

Сообщение от Marker
При клике на products, отображает то что должно быть у services. Тоесть не работает.
В чем тут проблема? Или как правильно написать два сценария одной функцией?

<style type="text/css">
div[onclick^="change1"]{
 border:red solid 1px;
 width:100px;
 margin:2px;
 padding:6px;
}
</style>


<script type="text/javascript">
function change1(a) {
a.innerHTML = a.id;
}
</script>


<div onclick="change1(this)" id="products"></div>
<div onclick="change1(this)" id="services"></div>

Marker 18.01.2013 22:57

Цитата:

Сообщение от Deff (Сообщение 228061)
<style type="text/css">
div[onclick^="change1"]{
 border:red solid 1px;
 width:100px;
 margin:2px;
 padding:6px;
}
</style>


<script type="text/javascript">
function change1(a) {
a.innerHTML = a.id;
}
</script>


<div onclick="change1(this)" id="products"></div>
<div onclick="change1(this)" id="services"></div>

Учитель ничего не говорит про div[onclick^="change1"]. Не думаю что это тот способ, который нужен. Как ещё можно сделать.

Deff 18.01.2013 23:11

div[onclick^="change1"]. Это css - http://www.weblibrary.biz/css/selekt...tory-atributov
можно пока выбросить

<style type="text/css">
div {
 border:red solid 1px;
 width:100px;
 margin:2px;
 padding:6px;
}
</style>


<script type="text/javascript">
function change1(a) {
a.innerHTML = a.className;
}
</script>

<div onclick="change1(this)" class="products"></div>
<div onclick="change1(this)" class="services"></div>

Marker 18.01.2013 23:13

a.innerHTML = a.className;
Мне нужно добавить контент, а не просто имя. Как это реализовать?

Deff 18.01.2013 23:14

Marker,
Вы запустите функцию и кликните
Что не так ?

Deff 18.01.2013 23:15

Цитата:

Сообщение от Marker
Мне нужно добавить контент, а не просто имя.

Выложите контент для каждого Варианта

Marker 18.01.2013 23:16

Ну во первых я не понял a.innerHTML. Причем тут a.innerHTML если я хочу работать с document.getElementbyId("products").innerHTML ? Я не очень понимаю этот метод - пару сценариев одной функцией. Пожалуйста обьясните мне. Я уже сказал как мне именно надо.

Deff 18.01.2013 23:20

Marker,
<div onclick="change1(this)" передает в функцию ссылку на сам элемент
в самой функции this уже выступает как a
function change1(a) {
Вместо а можно ставить другое имя параметру и работать с ним

<style type="text/css">
div {
 border:red solid 1px;
 width:100px;
 margin:2px;
 padding:6px;
}
</style>


<script type="text/javascript">
function change1(elem) {
elem.innerHTML = elem.className;
}
</script>

<div onclick="change1(this)" class="products"></div>
<div onclick="change1(this)" class="services"></div>

Marker 18.01.2013 23:25

вы пишите не правильный пример.

<div class="main"></div>
<div class="products"></div>


Это кнопки

<div id="center"></div>

Это див контента.

Мне надо чтобы кликнув на products в center отобразило какой нибудь текст ( там не будет только имя класса, там будет текст). А кликнув на services - другой текст.

Все это надо сделать путем одной функции, передачей параметров. Как сделать я это не понял. Прошу написать нормальный пример, чтобы я его мог применить - и понять его.


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