display: none

12
J
На сайте с 08.06.2006
Offline
844
955

есть два дива

<div id=div1>

text 1

<a href=javascript:// OnClick=show("div2")>Show div2</a>

</div>

<div id=div2 style="display: none">

text 2

<a href=javascript:// OnClick=show("div1")>Show div1</a>

</div>

Нужно, чтобы функция show "прятала не скрытый на данный момент див, а скрытый открывала"

Что прописать в теле функции show

Спасибо!

bay_ebook
На сайте с 28.05.2010
Offline
111
#1

Проще через jquery toggle и два IF будет сделать.

Нужен прогер на php+mysql+понимание чужего кода? (/ru/forum/540660) Вам сюда PHP-шаман (http://php-shaman.pw/)
L
На сайте с 16.10.2014
Offline
108
#2

http://javascript.ru/forum/misc/2238-pri-klike-ssylki-otkryt-div-blok-i-pri-klike-eshhjo-raz-zakryt-ego.html

подстроить вместо ссылки див , я думаю вам это должно помочь

Купить автомобиль из США можно тут (https://us-car.com.ua)
J
На сайте с 08.06.2006
Offline
844
#3

bay_ebook, можете код дать?

---------- Добавлено 06.11.2014 в 16:04 ----------

lexter, немного не то

мне по клику нужно, чтобы один закрывался, а второй открывался

S
На сайте с 13.10.2014
Offline
171
#4

$('a.id1').click(function(){

$('#id2').hide(0);

$('#id1').show(0);

// пойдет также $('#id2').css({'display':'none'}); $('#id1').css({'display':'block'})

})

по аналогии прописываете для 2 блока

только надо ссыль вывести из под дива иначе ее, как дочерний элемент дерева тоже попрячет и дать ей класс id1 и id2 соответственно

вариант не универсальный, зато простой

LovelAss
На сайте с 05.06.2009
Offline
96
#5


function show(id) {
$('#'+id).show();
$('#'+(id == 'div1' ? 'div2' : 'div1')).hide();
}
J
На сайте с 08.06.2006
Offline
844
#6

LovelAss, как это в html файле оформитьи какие библиотеки подключать, чтобы работало?

я в этом "ноль"

LovelAss
На сайте с 05.06.2009
Offline
96
#7
joost:
какие библиотеки подключать, чтобы работало?

Библиотеку jQuery

S
На сайте с 13.10.2014
Offline
171
#8

Подключите jquery

например вот отсюда http://jquery.com/download/ -- там инструкция есть

потом в хедер добавьте вот такой код

<script type="text/javascript">

$(document).ready(function(){

// ---------- сюда ваш код --------------//

})

</script>

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

J
На сайте с 08.06.2006
Offline
844
#9

может простым js можно


<script type="text/javascript">function show(id) {document.getElementById(id).style.display = document.getElementById(id).style.display == 'none' ? 'block' : 'none';} </script>

этот код по клику на ссылку скрывает/открывает

как по одному событию запустить исполнение show(div1) и show(div2) одновременно

в итоге сразу одно закроет, а другое откроет - как и нужно

---------- Добавлено 06.11.2014 в 17:56 ----------

<a href=javascript:// OnClick=show("div1");show("div2")>Show div1</a>

---------- Добавлено 06.11.2014 в 17:56 ----------

как правильно прописать выделенное черным?

дани мапов
На сайте с 06.09.2012
Offline
204
#10

Ну в принципе верно написали

onclick='show("div1");show("div2")'

Просто при загрузке страницы один блок должен быть скрыт.

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий