[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: кнопки "+" и "-"
el_aka_biga
Привет всем!сразу извиняюсь за глупый вопрос,так как только начал работать с js.Мне надо сделать так:есть кнопки (+ и -) при нажатии на + число должно увеличиваться на 1,а соответсвенно при на - на один меньше.Вывод этого самого числа можно сделать между этими двумя кнопками.Заранее спасибо



Спустя 3 минуты, 7 секунд (1.09.2011 - 14:54) Invis1ble написал(а):
А вопрос-то сам где?

Спустя 10 минут, 2 секунды (1.09.2011 - 15:04) Xes написал(а):
http://javascript.ru здесь может быть че нибуть.
Делаешь две кнопки элемент див при нажати на одну считываешь что находиться в диве. Если был нажат + увеличиваешь на еденицу,Ю и записываешь обратно в див.
Нужно почитать про события, основы, и чтото типа где встретится getElementBiId('div').innerHTML

Спустя 15 часов, 27 минут, 54 секунды (2.09.2011 - 06:32) el_aka_biga написал(а):
все получилось)спасибо))

Спустя 4 часа, 41 минута, 24 секунды (2.09.2011 - 11:13) moskitos80 написал(а):
Опоздал я. Вот, что бы пост не пропадал за отсутствикм полезной инфы:

<!DOCTYPE html>
<head>
<title>
new document </title>
<meta
name="charset" content="utf-8" />
<script
type="text/javascript">
<!--
// Это просто для получения универсального
// обработчика событий

if( typeof window.getEventHandler == "undefined")
{
function getEventHandler(GLOBAL) {
'use strict';

var util = {
addEvent : null,
removeEvent : null
},
doc = GLOBAL.document;
// Нормальные браузеры:
if (typeof doc.addEventListener === "function") {
util.addEvent = function (type, elt, callback, capture) {
elt.addEventListener(type, callback, capture);
};
util.removeEvent = function (type, elt, callback, capture) {
elt.addEventListener(type, callback, capture);
};
// IE:
} else if (typeof doc.attachEvent === "function") {
util.addEvent = function (type, elt, callback) {
elt.attachEvent("on" + type, callback);
};
util.detachEvent = function (type, elt, callback) {
elt.addEventListener("on" + type, callback);
};
// Устаревшие браузеры:
} else {
util.addEvent = function (type, elt, callback) {
elt["on" + type] = callback;
};
util.detachEvent = function (type, elt, callback) {
elt["on" + type] = null;
};
}
return util;
}
}

// Собственно само действие:
window.onload = function() {

var util = getEventHandler(this),
valDiv = this.document.getElementById("value"),
minus = this.document.getElementById("minus"),
plus = this.document.getElementById("plus");

util.addEvent("click", plus, increment, true);
util.addEvent("click", minus, decrement, true);

function increment() {
valDiv.innerHTML = parseInt(valDiv.innerHTML)+1;
}

function decrement() {
valDiv.innerHTML = parseInt(valDiv.innerHTML)-1;
}
}

//-->
</script>
<style>

#value{
display:inline;
border: solid 1px black;
padding-top:1px;
padding-bottom:1px;
padding-left:5px;
padding-right:5px;
margin: 5px;
}
</style>
</head>

<body>
<button
id="plus">+</button>
<div
id="value">0</div>
<button
id="minus">-</button>
</body>
</html>


Везде работает. Вот жатый вариант:

if(typeof window.getEventHandler=="undefined")var getEventHandler=function(b){var a={addEvent:null,removeEvent:null},b=b.document;typeof b.addEventListener==="function"?(a.addEvent=function(d,c,a,b){c.addEventListener(d,a,b)},a.removeEvent=function(a,c,b,f){c.addEventListener(a,b,f)}):typeof b.attachEvent==="function"?(a.addEvent=function(a,c,b){c.attachEvent("on"+a,b)},a.detachEvent=function(a,b,e){b.addEventListener("on"+a,e)}):(a.addEvent=function(a,b,e){b["on"+a]=e},a.detachEvent=function(a,b){b["on"+
a]=null});return a};window.onload=function(){var b=getEventHandler(this),a=this.document.getElementById("value"),d=this.document.getElementById("minus"),c=this.document.getElementById("plus");b.addEvent("click",c,function(){a.innerHTML=Number(a.innerHTML)+1},!0);b.addEvent("click",d,function(){a.innerHTML=Number(a.innerHTML)-1},!0)};

Спустя 13 минут, 37 секунд (2.09.2011 - 11:27) ApuktaChehov написал(а):
moskitos80 - а вам не кажется, что для человека, который только начал работать с JS, это как-то сильно сложно?

Он может сейчас испугается всего этого и пойдет газеты в киоске продавать laugh.gif

Спустя 5 минут, 25 секунд (2.09.2011 - 11:33) ApuktaChehov написал(а):
Поправил свой пост. Пальцы вообще за головой не успевают. sad.gif

Спустя 1 минута, 25 секунд (2.09.2011 - 11:34) moskitos80 написал(а):
:D - согласен это я загнул, но он вроде написал
... надо сделать...

а не научите как -у меня просто время сейчас есть, чего б не попрактиковаться в js. Заодно людям готовое решение. B)

Спустя 5 минут, 19 секунд (2.09.2011 - 11:39) ApuktaChehov написал(а):
moskitos80 - не, решение мне понравилось. Боюсь у автора темы, сейчас глаза круглы и он ясно ощущает ничтожность своих начальных знаний laugh.gif

el_aka_biga - не переживайте, пройдет время и вы нам еще фору дадите, вместе взятым wink.gif

Спустя 5 минут (2.09.2011 - 11:44) el_aka_biga написал(а):
ApuktaChehov - газеты точно не смогу продовать)))там все места заняты laugh.gif
Спасибо как говорится учиться учиться и еще раз учиться))

Спустя 1 минута, 2 секунды (2.09.2011 - 11:45) el_aka_biga написал(а):
moskitos80 спасибо за помощь буду разбираться))

Спустя 7 минут, 34 секунды (2.09.2011 - 11:53) el_aka_biga написал(а):
я вот так сделал
			function plus() {

var a = parseInt(document.form.rating.value);
var h = parseInt(a+1);
document.form.rating.value=h;
}

function minus() {

var a = parseInt(document.form.rating.value);
var h = parseInt(a-1);
document.form.rating.value=h;
}

Спустя 43 минуты, 17 секунд (2.09.2011 - 12:36) moskitos80 написал(а):
Цитата (el_aka_biga @ 2.09.2011 - 08:53)
я вот так сделал

Гениально! Правда. И повесить всё это в html коде обработчиками onclick="plus()" и onclick="minus()" это вполне рабочий код.
- Поясню свою реакцию, между нами: просто я стараюсь уходить от использования js кода в html коде, в пользу DOM функционала, но это уже наверное мой БЗИК... user posted image

Спустя 8 минут, 11 секунд (2.09.2011 - 12:44) el_aka_biga написал(а):
Цитата
И повесить всё это в html коде обработчиками onclick="plus()" и onclick="minus()" это вполне рабочий код.
так и сделал))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.