accordion frame vs. div
мне понадобилось сделать приложение на ajax слева находится акордион справа подгружаются таблички с различной инфой.
Посмотрел пару примеров и сделал на фреймах вроде все получилось но немного завяз с дизайном, и тут все начали советовать сделать с помощью дивов мол избавишся от кучи проблем в будущем. Я попробовал и столкнулся с такой проблемой: Вот то что пишется в акордионе: <HTML><HEAD> <link rel="stylesheet" type="text/css" href="main.css"> <TITLE>New</TITLE> <link type="text/css" href="../js/jquery-ui-1.7.2.custom/css/no-theme/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> <link rel="stylesheet" type="text/css" href="main.css"> <script type="text/javascript" src="../js/jquery-ui-1.7.2.custom/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="../js/jquery-ui-1.7.2.custom/js/jquery-ui-1.7.2.custom.min.js"></script> <script type="text/javascript"> $(function(){ $("#accordion").accordion({ header: "h3", collapsible: "false" }); //hover states on the static widgets $('#dialog_link, ul#icons li').hover( function() { $(this).addClass('ui-state-hover'); }, function() { $(this).removeClass('ui-state-hover'); } ); //$(”div#warehouse”).load(”[url]http://localhost/warehouse/index.html”);[/url] }); </script> </HEAD><BODY> <div class=colontitul> <h1>1</h1> </div> <div id="accordion" class=menu> <h3><a href="#">тестовое меню</a></h3> <div id="ware"> <p> тест </p> <a class="afont" href="#" onclick='$("#maincontent").load("http://localhost/test1/");'>ТЕСТ</a><br> </div> <h3><a href="#">тест2</a></h3> <div> <p> тест2 </p> <a class="afont" href="http://localhost/test2/" target="main">тест</a><br> </div> </div> <div class=content id="maincontent"> <P>3 </div> <div class=colontitul> <h2>4</h2> </div> </BODY></HTML> http://localhost/test1/ подгружает такую страничку: <html> <head> <link rel="stylesheet" type="text/css" href="../style/table.css"> <script type="text/javascript" src="test_ajax.js"></script> </head> <body onload="show()" > <br /> <div id="status"></div> <br /> <div id="txtHint"><b>Обновить кнопкой содержание таблички.</b></div> <table> <tr> <td> <input type="button" onClick="show()" value="Обновить" /> </td> <td> <input type="button" onClick="deleteUser()" value="Удалить" /> </td> </tr> </table> </body> </html> И вроде все работат файлик подгружается но не подгружается строчка <script type="text/javascript" src="test_ajax.js"></script> а собственно на ней и держиться вся работа подгружаемой странчки потому что она на аяксе работает, почему нельзя с помощью load подключить яваскриптовый файлик? |
Да, есть такое дело, ищите в добавленном коде адрес скрипта самостоятельно и создавайте новый скрипт с тем же адресом, чтобы подгрузить его.
|
jQuery в полученном ответе делает вот так:
jQuery("<div/>") // inject the contents of the document in, removing the scripts // to avoid any 'Permission Denied' errors in IE .append(res.responseText.replace(/<script(.|\s)*?\/script>/g, "")) Поэтому можно поступить таким образом: $.getScript("test_ajax.js", function(){ $("#maincontent").load("http://localhost/test1/"); }); |
К сожалению последний вариант у меня не работает так само не грузится файлик с яваскриптом.
Странно вроде бы простая реализация меню а сделать довольно сложно. |
Вернее скрипт js загружается но почему то не работает как еще можно извратится уже не знаю даже аяксовые запросы переписал на jquery но ничего не помогает.
|
Часовой пояс GMT +3, время: 10:09. |