Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   изменение значения элемента display (https://javascript.ru/forum/misc/14126-izmenenie-znacheniya-ehlementa-display.html)

(Sandr) 30.12.2010 20:41

изменение значения элемента display
 
Помогите пожалуйса.. Нужно, чтобы после клика на ссылку изменялось значение элемента display с block на none и обратно. Ниже код, но он не работает.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
<script>
function my_f(objName)
{
if ($(objName).css('display') == 'none')
{
$(objName).css('display') = 'block';
}
else
{
$(objName).css('display') = 'none';
}
}
</script>

<a href="javascript:void(0)" onclick="my_f('#textid')">(+)</a>
<div id="textid" style="display:block">
скрытый текст
</div>

Подскажите, где ошибка?

Vulkan 30.12.2010 20:48

<script>
function my_f(objName) {
var object = document.getElementById(objName);
object.style.display == 'none' ? object.style.display = 'block' : object.style.display = 'none'
}
</script>

<a href="javascript:void(0)" onclick="my_f('textid')">(+)</a>
<div id="textid" style="display:block;">
скрытый текст
</div>

ksa 30.12.2010 20:55

(Sandr), многа букаф...

<!DOCTYPE html>
<html>
<HEAD>
<TITLE></TITLE>
<style>
</style>
<script>
function my_f(Id) {
    var o=document.getElementById(Id)
    o.style.display = (o.style.display == 'none')? 'block': 'none'
}
</script>
</HEAD>
<body>
<a href="#" onclick="my_f('textid')">(+)</a>
<div id="textid">
скрытый текст
</div>
</body>
</html>

monolithed 30.12.2010 21:03

Цитата:

Сообщение от ksa
(Sandr), многа букаф...

чтож внесу тогда свои 5 копеек)) :D

<script type="text/javascript">
window.onload = function(){
    document.getElementById('a').onclick = function(){
        var div = document.getElementById('div');
        div.style.display = (div.style.display == '') ? 'block' : '';
        return false;
    };
};
</script>

<style type="text/css">
 div {background: red; display: none; width: 100px; height: 50px;}
</style>
<a href="#" id="a">click</a>
<div id="div"></div>

(Sandr) 30.12.2010 21:11

Всем большое спасибо) и с наступающим))

monolithed 30.12.2010 21:37

не заметил, а вам на jQuery код нужен был?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    $('.a').click(function(){
         $('.div1').toggleClass('div2');
        return false;
    });
});
</script>

<style type="text/css">
div {background: red; width: 100px; height: 50px; }
.div1 {display: none;}
.div2 {display: block;}
</style>

<a href="#" class="a">click</a>
<div class="div1"></div>

(Sandr) 30.12.2010 21:42

Цитата:

Сообщение от monolithed
не заметил, а вам на jQuery код нужен был?

Не обязательно) чем проще тем лучше))

monolithed 30.12.2010 22:17

Цитата:

Сообщение от (Sandr)
Не обязательно) чем проще тем лучше))

это замечательно же))

Aetae 31.12.2010 01:56

Лол, +1)
<!DOCTYPE HTML>
<html>
<head>
	<script type="text/javascript">
	function hide(id) {var o=document.getElementById(id).style; o.display=o.display?'': 'none'}
	</script>
</head>
<body>
	<a href="#" onclick="hide('textid')">(+)</a>
	<div id="textid">
	скрытый текст
	</div>
</body>
</html>

(Sandr) 31.12.2010 14:05

появился ещё один вопрос.. как сделать, чтоб если текст виден, то ссылка с надписью (+) менялась на (-) ?
пробовал ссылке присвоить id="plus_minus" а потом изменить таким образом:
plus_minus.innerHTML = '(-)'
но ничего не получилось..


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