Подгрузка элемента из div через Appendto
Дело вот в чём, есть сайт из 4-х страниц, условно, я хочу сделать, чтобы при нажатии на пункт меню у меня подгружался соответствующий элемент p, но после добавления он у меня пропадает с исходного места, почему?Как сделать
$(document).ready(function(){ //Default $("#content").hide(); $("#hide").hide(); //Actions on click $("div#Home.MenuItem a").click(function () { $("div#Home.MenuItem a").click(function () { $("#content").empty(); loadcontent("home"); }); $("div#Foto.MenuItem a").click(function () { $("#content").empty(); loadcontent("foto"); }); $("div#People.MenuItem a").click(function () { $("#content").empty(); loadcontent("people"); }); $("div#Help.MenuItem a").click(function () { $("#content").empty(); loadcontent("help"); }); function loadcontent(pclass){ $("#hide p." + pclass).appendTo("#content"); $("#content").show(); } //end document ready }); <div id="hide"> <p class="home">Home is here</p> <p class="foto">Foto is here</p> <p class="people">People</p> <p class="help">Help</p> </div> Или если проще сказать, как сделать чтобы AppendTo присоединял элемент, а не удалял его после присоединения, если такой принцип конечно, или я что то не так понял, спасибо.А так у мнея пропадает элемент после присоединеня из div id hide, и подгрузка не работает,может стоит другие варианты попробывать какие то, спасибо |
$("#hide p." + pclass).clone(true).appendTo("#content"); |
e1f, Благодарю, заработало, только вот отлавливаю баг в Опере и FF, при клике у меня появляется полоса прокрутки(как бы это нормально) и весь контеинер съезжает влево, как я понимаю это из за полосы прокрутки? Можно ли с этим как то побороться? Спасибо
|
Код в студию, я же не знаю, что именно у Вас там съезжает и куда :)
|
<html> <head> <link href="style.css" rel="stylesheet" type="text/css"> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ // Здесь ваш код $("#header").click(function() { $("#content").hide(); }) }); // Your code goes here </script> </head> <body> <div id="container"> <div id="header">click me</div> <div id="content"></div> <div id="footer"></div> </div> </body> </html> body { margin:0; padding:0; background:#ffffff; background-position:fixed; } #container { margin:0 auto; background:green; width:500px; height:300px; position:relative; } #header { float:left; width:500px; height:100px; background:red; } #content { float:left; width:500px; height:600px; background:yellow; } #footer { float:left; width:500px; height:100px; background:#dddddd; } создал похожий вариант и эффект тот же:-? Спасибо |
Проблема решена тем, что надо было не empty() а hide(), оказалось это две большие разницы))
|
Часовой пояс GMT +3, время: 13:37. |