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, время: 19:51. |