ОсновноеRadiotalkПользовательское
Программирование
6   •   Посмотреть все темы

FAQ: основы js.

 

2970
удалён @Foggy
а без аякса совсем никак? чтоб на мп то бишь?
весьма нужная вещь. с id видел подобные решения, но class менять тоже иногда требуется.

1095
tip4ik @tip4ik
а если просто
if (document.location.href = 'www.xxx.com/1') { document.getElementById('tag_ID').className='linkz1';} .... ?

З.Ы.: просто на заметку:
как сразу нескольким переменным - присвоить чысловое значение?

Корректно вроде будет var variable1, variable2, variableN = 'string'; (опять листал от нефиг делать)

Отредактировано tip4ik - 06.02.2011
6703
Андрей @ZloVeЩиЙ
Trilby пишет:

ZloVeЩиЙ пишет:

Как поменять class в зависимости от url?
Тоесть если domen.com/?to=register то class='one'
if domen.com/?to=call то class='two'
else class='three'

p.s. ?to=name - имя документа.html который инклудим.

Получилось только через метки+jquery сделать сие чудо-юдо..
**********
**********
**********
**********
ниже архив с этим всем. Вот только, работает оно только на сервере... Ajax как-никак)


Если не лениться и покапаться далее, то можно сделать именно имя файла после решетки... Я просто не стал уже это писать, т.к. там обработчики исключений и прочая байда, а мне уже очень хочется спать... )
по сабжу ещё это советую заценить: **********

Что то уже есть, тоже пожалуй спать, а там смотри еще какие варианты появятся))

FOGGY, дай с ID исходники -- поковыряю.

Отредактировано ZloVeЩиЙ - 05.02.2011
8497
Степан @Trilby
Foggy пишет:

а без аякса совсем никак? чтоб на мп то бишь?
весьма нужная вещь. с id видел подобные решения, но class менять тоже иногда требуется.

Откуда такая ненависть к аяксу?
Исправил 3 раза "#boltayka" на ".boltayka", и один раз id на class - все прекрасно работает.
Перезаливать ZIP не буду


И вообще, такие вещи не на JS надо делать, а get-запросами на пахапе

Отредактировано Trilby - 05.02.2011
2970
удалён @Foggy
ZloVeЩиЙ, вообще не могу найти в закладках... где-то сохранял... попробуй прогуглить "слайдер jquery/css". я именно по такому запросу находил нечто из этой темы. многие слайдеры по такому принципу реализованы. **********, что нашёл пока в закладках (у меня их уж больно много и беспорядок в них - фиг что найдёшь). но это не то... мне самому сейчас это требуется, так что я завтра ещё пороюсь. правда, по классам мне ни к чему - мне только к id привязывать ссылки пока требуется.
прикрепляю пример, найденный на компе.

Trilby, ненависти к нему нет - напротив, нравится он) но на мп ведь нету доступа к пхп и прочим нужностям, с которыми аякс связан, так?
**********

Отредактировано Foggy - 05.02.2011
8497
Степан @Trilby
Да при чем тут пхп? Ты код в архиве смотрел? Там есть серверные скрипты?
Ставлю штуку баксов и бутылку пива сверху, что я (да кто угодно) могу это запустить даже на народе

Отредактировано Trilby - 05.02.2011
2970
удалён @Foggy
Trilby, каюсь, не смотрел) уже минут 20 собираюсь лечь спать) всё никак не лягу) пожалуй, отключусь до завтра. там посмотрим.
p.s. про "кто угодно" лучше не говори xDDD моя мать по-любому не сможет) и штука баксов с тебя будет)))

8497
Степан @Trilby
Foggy пишет:

p.s. про "кто угодно" лучше не говори xDDD моя мать по-любому не сможет) и штука баксов с тебя будет)))

Да за такой спор я своего годовалого племянника научу заливать скрипты, не говоря уж о твоей маме.. Спокойной ночи

4875
ValdeZ @ValdeZ
ZloVeЩиЙ пишет:

Подзабыл элементарные условия что ли ):

Нужно дописать условие:
если еррор=1 или еррор=5 ("some text");
если что другое ("other text");

Мой вариант не срабатывает почему то...

...
if(error=='0') error="GOOD";
if(error=='1') error="BAD";
if(error=='2') error="BAD";
if(error=='3') error="BAD";
if(error=='4') error="BAD";
if(error=='5') error="GOOD";

if(error==1||error==5) {
document.write("text");
}
else {
document.write("other text");
}

/...


может с самой переменной что-то не так
или этот dоcument.write куда-то непонятно куда выводится (если чат, то в какой-то фрейм или ещё куда)
скинь полный код, что-ли

6703
Андрей @ZloVeЩиЙ
Разобрался уже.
Условие надо было ставить до определения значений переменой error=GOOD\BAD всего то)

Как то так, если кому то понадобится...

...
if(error=='0'||error=='10') {
gclass="good_g";
}
else {
gclass="bad_g";
}

if(error=='0') error="GOOD";
if(error=='1') error="BAD";
if(error=='2') error="BAD";
if(error=='3') error="BAD";
if(error=='4') error="BAD";
...
if(error=='10') error="GOOD";
if(error) document.write("<div class='"+gclass+"'>"+error+"</div>");
/...

Отредактировано ZloVeЩиЙ - 07.03.2011
8497
Степан @Trilby
ZloVeЩиЙ, сабжа что-то не наблюдаю, но все-же небольшой оффтоп...
Может стоит
if(error=='0') error="GOOD";
if(error=='1') error="BAD";
if(error=='2') error="BAD";
if(error=='3') error="BAD";
if(error=='4') error="BAD";
и т.д. заменить на
if (error!='0' and error!='10') {error="BAD"} else {error="GOOD";}


Показать текст

Отредактировано Trilby - 07.03.2011
6703
Андрей @ZloVeЩиЙ
В:
В jquery есть такая штука как
.toggle();
[spoiler=пример]<script type="text/javascript" src="подкл. jquery"></script>
<script type="text/javascript">
function show_boobs()
{$("#block").toggle(500);} // скорость появления
</script>

....

<a onclick="show_boobs()" href="javascript:void(0);">скрыть/показать</a>
<div id="block" style="display: none;">
скрытый фрейм
</div>

...[/spoiler]

с помощью которой можно скрывать\раскрывать содержимое блока более плавно\реалестично...
по умолчанию это происходит сверху - вниз, внимание вопрос:

слева на право
как поменять направление {
справа на лево

О:
Кому надо - разбирайтесь, сам 1.5 часа возился с этой хреновиной.
[spoiler=решение]$(function() {
$("#but-slide").toggle(
function() {
$("#slide").hide("slide", { direction: "left" }, 1000);
},
function() {
$("#slide").show("slide", { direction: "left" }, 1000);
}
);

});

[/spoiler]

Отредактировано ZloVeЩиЙ - 15.05.2011
8497
Степан @Trilby
ZloVeЩиЙ, оооо. Как раз самому нужна была эта функция, а гугл молчал как партизан.


p.s. значение toggle (цифры) без кавычек надо, в примере исправь

Отредактировано Trilby - 15.05.2011
6703
Андрей @ZloVeЩиЙ
гугл молчал как партизан.

не так спрашивал видимо, нужно было с пивком и косяком подходить...
Эта информация скрыта и доступна только зарегистрированным пользователям.

Отредактировано ZloVeЩиЙ - 15.05.2011
6703
Андрей @ZloVeЩиЙ
Подкиньте задачек по циклам while, for в javascript`e...
Вроде как бы все понимаю, но все равно практики не хватает, не хочу переходить к более сложеному не разобравшись полностью с циклами.

8497
Степан @Trilby
А чего там тренироваться то? 😲
Собственно, это задачи на циклы по паскалю (в колледже давали как-то), но посредством текстовых полей и кнопок очень даже хорошо решаются и на JS (наверное, кроме десятой)
[spoiler=ABBYY Finereader]1. На экране появляется вопрос «Сколько * ввести?». И в зависимости от введенного происходит вывод, (двумя способами: через while и for).
2. Одна штука некоторою товара стоит 20,4 руб. Напечатать таблицы стоимости 2, 3, ...,20 штук товара.
3. Напечатать таблицу соответствия между весом в футах и килограммах для значения 1, 2 ,..., 10 футов. (1 фут = 453 г)
4. Найти сумму всех целых чисел от 100 до 500.
5. Найти сумму всех целых чисел от а до 500 (а <= 500).
6. Найти сумму всех целых чисел от а до b (а и b вводятся с клавиатуры, в >=а).
7. Найти произведение всех целых чисел от а до b (а и b вводятся с клавиатуры, в >= а).
8. Найти средне арифметическое всех целых чисел от а до b (а и b вводятся с клавиатуры, в >= а).
9. Найдите сумму квадратов всех целых чисел от а до b (а и b вводятся с клавиатуры, в >= а).[/spoiler]
p.s. раз для себя, то все задачи решай двумя способами

Отредактировано Trilby - 25.05.2011
6703
Андрей @ZloVeЩиЙ
Вопрос на повестке дня!
Есть парочка полей виду:

<input type="radio" name="delivery" value="1" id="del-type-1">Адын
<input type="radio" name="delivery" value="2" id="del-type-2">Дыдва
<input type="radio" name="delivery" value="3" id="del-type-3">Тытра

Чуть ниже блок:

<div>
Адын <input type='text' name='text' class='text'>
</div>

Ну и скрипт:

<script type="text/javascript">
document.getElementById('del-type-1').onclick = function () {
if (this.checked) document.body.innerHTML = document.body.innerHTML.replace(/Дыдва/g, 'Адын');
}
document.getElementById('del-type-2').onclick = function () {
if (this.checked) document.body.innerHTML = document.body.innerHTML.replace(/Адын/g, 'Дыдва');
}
</script>

Который должен менять слово Адын на другое (зависит от выбраного чекбокса). Все бы хорошо, но меняет лишь один раз, Адын -> Дыдва при щелчке...
Помогите разобраться!

Отредактировано ZloVeЩиЙ - 17.03.2012
1007
BETEPAH @BETEPAH
ZloVeЩиЙ пишет:

Вопрос на повестке дня!
Есть парочка полей виду:

<input type="radio" name="delivery" value="1" id="del-type-1">Адын
<input type="radio" name="delivery" value="2" id="del-type-2">Дыдва
<input type="radio" name="delivery" value="3" id="del-type-3">Тытра

Чуть ниже блок:

<div>
Адын <input type='text' name='text' class='text'>
</div>

Ну и скрипт:

<script type="text/javascript">
document.getElementById('del-type-1').onclick = function () {
if (this.checked) document.body.innerHTML = document.body.innerHTML.replace(/Дыдва/g, 'Адын');
}
document.getElementById('del-type-2').onclick = function () {
if (this.checked) document.body.innerHTML = document.body.innerHTML.replace(/Адын/g, 'Дыдва');
}
</script>

Который должен менять слово Адын на другое (зависит от выбраного чекбокса). Все бы хорошо, но меняет лишь один раз, Адын -> Дыдва при щелчке...
Помогите разобраться!

document.body.innerHTML.replace(/Дыдва/g, 'Адын') заменяет все встреченные "Дыдва" на странице, а не только в нужном месте.
Если можно разметку изменить, то **********:
<input type="radio" name="delivery" value="1" id="del-type-1" checked><label for="del-type-1">Адын</label>
<input type="radio" name="delivery" value="2" id="del-type-2"><label for="del-type-2">Дыдва</label>
<input type="radio" name="delivery" value="3" id="del-type-3"><label for="del-type-3">Тытра</label>

<div><span id="target">Адын</span> <input type='text' name='text' class='text'></div>

document.getElementById('del-type-1').onclick = function () {
if (this.checked) document.getElementById('target').innerHTML = 'Адын';
}
document.getElementById('del-type-2').onclick = function () {
if (this.checked) document.getElementById('target').innerHTML = 'Дыдва';
}
document.getElementById('del-type-3').onclick = function () {
if (this.checked) document.getElementById('target').innerHTML = 'Тытра';
}

6703
Андрей @ZloVeЩиЙ
Жень, спасибо что отозвался.
Дело в том что разметку никак не поменять, есть ли подобное решение без
<span id="target">Адын</span> ?

2615
Сергей @Pegass
если блоку добавить ID
<div id="iddiv">
Адын <input type='text' name='text' class='text'>
</div>
<script type="text/javascript">
document.getElementById('del-type-1').onclick = function () {
if (this.checked) { document.getElementById('iddiv').innerHTML =''; document.getElementById('iddiv').innerHTML ="Адын <input type='text' name='text' class='text'>";}}
document.getElementById('del-type-2').onclick = function () {
if (this.checked) { document.getElementById('iddiv').innerHTML =''; document.getElementById('iddiv').innerHTML ="Дыдва <input type='text' name='text' class='text'>";}}
document.getElementById('del-type-3').onclick = function () {
if (this.checked) { document.getElementById('iddiv').innerHTML =''; document.getElementById('iddiv').innerHTML ="Тытра <input type='text' name='text' class='text'>";}}
</script>

ЗЫ извращаться можно сколько угодно, но Span - самый оптимальный вариант))))))