довольно основной вопрос. Я хочу использовать функцию больше, чем один раз. Этот код работает, но только один раз. Мне нужно перезагрузить страницу, если я хочу снова использовать эту функцию, что немного раздражает...
HTML:
<div id="phone-header-icon" class="header-icons"></div>
<div id="phonefade">
<div class="close_box">X</div>
<p class="phone-p" id="phone-p-1">Call us!<br/>Monday-friday.</p>
<p class="phone-p" id="phone-p-2">XXX XXX XXXX(phonenumber, the content is not important anyway)</p>
</div>
Css:
#phonefade{
background-color:#FFF;
height:100px;
width:33%;
overflow:hidden;
margin-left:15%;
margin-top:2%;
opacity:0.95;
display:none;
-webkit-box-shadow:0px 8px 6px -5px grey;
Jquery:
$(document).on('click','#phone-header-icon',function(){
$("#phonefade").css({ display: "block" });
});
$(document).on('click','.close_box',function(){
$(this).parent().remove();
});
$(document).on('click','#phone-header-icon',function(){
$("#phonefade").show();
});
$(document).on('click','.close_box',function(){
$(this).parent().hide();
});
.remove()
полностью удаляет элемент из dom.so, когда u попробуйте второй раз загрузить div. на самом деле его нет, чтобы показать. Вместо этого попробуйте скрыть div, используя hide()
я создал скрипку. он отлично работает. если все же это вызывает проблемы, я думаю, что я могу быть из-за другого javascript, который мог бы использовать
Вы removing
конкретного элемента из DOM
, постоянно используя .remove(). Но, согласно вашей цели, вы должны hide
это.
Попробуй это,
$(document).on('click','#phone-header-icon',function(){
$("#phonefade").show();
});
$(document).on('click','.close_box',function(){
$(this).parent().hide();
});