2013-04-22 4 views
0

Итак, я хочу отобразить Div из скрытой страницы, при нажатии на нее она соответствует ширине страницы 1005 и высоте 100% с прокручиваемым контентом. У меня есть несколько проблем с фоновым материалом, который появляется даже после обширных z-index и настройка, а также при прокрутке вниз, как только вы дойдете до нижней части div, кажется, что она прокручивается вниз и отображает содержимое под ним, которое я действительно не хочу делать. В любом случае, я хотел бы знать, есть ли что-то более солидное, структурированное или просто более эффективное, чем использование того, что у меня уже есть. Хеширование кодирования любого совета было бы очень оценено.Есть ли лучший способ показать и скрыть?

<script type="text/javascript"> 
<!-- 
    function toggle_visibility(id) { 
     var e = document.getElementById(id); 
     if(e.style.display == 'block') 
      e.style.display = 'none'; 
     else 
      e.style.display = 'block'; 
    } 
//--> 
</script> 


<div id="ef" style="display:none; width:100%; height:120%; overflow:scroll; background-color:#f1f1f1; -webkit-overflow-scrolling:touch; z-index:2000; padding-top:43px; "><div id="efmenubars"> 
      <div style="width:50px; height:40px;margin-top:7px; float:left; margin-left:8px;"> 
      </div><span style="display:inline-block; text-align:center; font-family:'helvetica_bqregular'; font-size:20px; color:#333;">Post Enquiry</span> 

    <a href="#" onclick="toggle_visibility('ef');"> <img src="../images/close.png" width="50px" style="float:right; margin-top:7px; margin-right:8px;" /></a> 

     </div> 
<p>{leftcol}</p></div> 

<a class="button2" style="float:right; margin-right:12px; margin-top:19px;" onclick="toggle_visibility('ef');">Post Enquiry</a> 

Надежда все это имеет смысл, извините за инлайн CSS очень запутанным, я знаю, это была быстрая работа необходимо очистить его.

Приветствия

Ol

+2

почему бы вам не использовать JQuery? – 2013-04-22 11:03:12

+1

Да, с помощью JQuery вся ваша функция «toggle_visibility» может быть заменена просто «$ (« # »+ id) .toggle();' – musefan

+1

Здесь вы найдете: http://pastebin.com/aLQmRnvP | более короткая версия вашей функции, которая делает то же самое ... но я настоятельно рекомендую переключиться на jQuery, чтобы добиться большей простоты и функциональности! – 2013-04-22 11:05:56

ответ

1

Просто используйте JQuery для переключения между visiblity состояниями. jQuery в основном упрощает и улучшает ваш код. Итак, если вы действительно хотите улучшить свой код, используйте jquery.

.$('#idOfYorElement').toggle(); 

Просто простой один лайнер :)

+1

http://meta.stackexchange.com/questions/19478/the-many-memes-of-meta/19492#19492 – Bergi

+0

Что это за ссылка для waht – PSR

Смежные вопросы