Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   accordion frame vs. div (https://javascript.ru/forum/jquery/6133-accordion-frame-vs-div.html)

alexandre 12.11.2009 18:07

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 подключить яваскриптовый файлик?

Octane 12.11.2009 19:06

Да, есть такое дело, ищите в добавленном коде адрес скрипта самостоятельно и создавайте новый скрипт с тем же адресом, чтобы подгрузить его.

e1f 12.11.2009 20:41

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/");
});

alexandre 13.11.2009 00:32

К сожалению последний вариант у меня не работает так само не грузится файлик с яваскриптом.
Странно вроде бы простая реализация меню а сделать довольно сложно.

alexandre 23.11.2009 03:00

Вернее скрипт js загружается но почему то не работает как еще можно извратится уже не знаю даже аяксовые запросы переписал на jquery но ничего не помогает.


Часовой пояс GMT +3, время: 10:23.