Сообщение от Булат Азат улы
|
. А функция запускается после клика?
|
для первоначального варианта!!!
вы её сами запустили newSlide("#formNewAdd"), когда формировали клик
это
$("#newAdd").click(newSlide("#formNewAdd"));
равно
этому
$("#newAdd").click(undefined);
третий вариант сделать код с вашей функцией рабочим
<meta charset="utf-8">
<style>
#newAdd {
color: #FF0000;
}
#newUpdDiv, #formNewDel {
display: none;
}
.toggleP span {
text-decoration: underline;
padding: 0 5px;
}
.toggleP span:hover {
cursor: pointer;
text-decoration: none;
color: #FF0000 !important;
}
</style>
<script src='https://code.jquery.com/jquery-3.2.1.min.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
function newSlide(id){
$(".formNews").slideUp(500);
$("#newsP span").css("color", "black");
$(this).css("color", "#FF0000");
$(id).slideDown(500);
}
$("#newAdd").click(newSlide.bind($("#newAdd")[0],"#formNewAdd"));
$("#newUpdate").click(newSlide.bind($("#newUpdate")[0],"#newUpdDiv"));
$("#newDelete").click(newSlide.bind($("#newDelete")[0],"#formNewDel"));
});
</script>
<p id='newsP' class='toggleP'><span id='newAdd'>Добавить объявление</span> ┃ <span id='newUpdate'>Изменить объявление</span> ┃ <span id='newDelete'>Удалить объявление</span></p>
<form method='POST' id='formNewAdd' class='formNews'>
<p>Блок 1</p>
</form>
<div id='newUpdDiv' class='formNews'>
<p>Блок 2</p>
</div>
<form method='POST' id='formNewDel' class='formNews'>
<p>Блок 3</p>
</form>
и четвёртый
<meta charset="utf-8">
<style>
#newAdd {
color: #FF0000;
}
#newUpdDiv, #formNewDel {
display: none;
}
.toggleP span {
text-decoration: underline;
padding: 0 5px;
}
.toggleP span:hover {
cursor: pointer;
text-decoration: none;
color: #FF0000 !important;
}
</style>
<script src='https://code.jquery.com/jquery-3.2.1.min.js' type='text/javascript'></script>
<script type="text/javascript">
$(document).ready(function(){
function newSlide(id){
$(".formNews").slideUp(500);
$("#newsP span").css("color", "black");
$(this).css("color", "#FF0000");
$(id).slideDown(500);
}
$("#newAdd").click($.proxy(newSlide, $("#newAdd")[0], "#formNewAdd"));
$("#newUpdate").click($.proxy(newSlide, $("#newUpdate")[0], "#newUpdDiv"));
$("#newDelete").click($.proxy(newSlide, $("#newDelete")[0], "#formNewDel"));
});
</script>
<p id='newsP' class='toggleP'><span id='newAdd'>Добавить объявление</span> ┃ <span id='newUpdate'>Изменить объявление</span> ┃ <span id='newDelete'>Удалить объявление</span></p>
<form method='POST' id='formNewAdd' class='formNews'>
<p>Блок 1</p>
</form>
<div id='newUpdDiv' class='formNews'>
<p>Блок 2</p>
</div>
<form method='POST' id='formNewDel' class='formNews'>
<p>Блок 3</p>
</form>