Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.10.2013, 23:10
Аспирант
Отправить личное сообщение для Фридрих Посмотреть профиль Найти все сообщения от Фридрих
 
Регистрация: 10.09.2013
Сообщений: 59

Выбор данных из XML помогите плз
Не понимаю как индексируются данные в XML - отсюда не знаю как вызвать только тот элемент, который мне нужен для вставки в HTML по клику!?
вот.....index.html
<!DOCTYPE html>
<html>
<head>
	<meta content="text/html" charset="utf-8">
	<title>portfolio</title>
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript" src="js/script.js"></script>
	<link rel="stylesheet" href="css/index.css" type="text/css">
</head>
<body>
	<table class="master">
		<tr>
			<td>
			<center id="logo">
			</center>
			</td>
		</tr>
		<tr>
			<td>
				<center id="menu">
				</center>
			</td>
		</tr>
		<tr>
			<td id="view">	
			</td>
		</tr>
	</table>
</body>
</html>

вот...base.xml
<?xml version='1.0' encoding='utf-8'?>
<container>
	<logo>
		<title>Portfolio</title>
	</logo>
	<site>
		<menu>Page1</menu>
		<url>page1.html</url>
	</site>
	<site>
		<menu>Page2</menu>
		<url>page2.html</url>
	</site>
	<site>
		<menu>Page3</menu>
		<url>page3.html</url>
	</site>
</container>

вот...index.css
*{
padding: 0;
margin: 0;
}
body {
background: url('../img/free4.jpg') no-repeat center center fixed;
background-size: cover; 
}
.master{ 
width: 1000px;  
position: relative;
margin:0 auto;
padding-top: 20px;
padding-bottom: 20px;
}
.menu{
padding: 8px;
font-family: Georgia;
font-style: italic;
text-decoration: underline;
font-size: 28pt;
color: #fff;
cursor: pointer;
}
.menu:hover{
text-decoration: none;
}
.mactive {
text-decoration: none;
}
.view{
width: 1000px;
border: 0px solid #fff;
border-radius: 10px;
background: url('../img/bg2.png') repeat;
}
.logo{
font-family: Georgia;
font-size: 60px;
color: #fff;
position: relative;
bottom: 0px; 
}

вот....sсript.js
$(document).ready(function(){
$.ajax({
            type: 'GET',
            url: 'base.xml',
            dataType: 'xml',
            success: function(xml){
                $(xml).find('container logo').each(function(){
                var logo = $(this).find('title').text();             
                $('<l class="logo"></l>').html(logo).appendTo('#logo');
                $(xml).find('site').each(function(){
                var menus = $(this).find('menu').text();
                var pages = $(this).find('url').text();
				$('<m class="menu"></m>').html(menus).appendTo('#menu');
				$('<div class="view"></div)').load(pages).appendTo('#view');
				var buttons = $('.menu');				
				var i = buttons.index(this);
   				buttons.click(function(){	
				buttons.removeClass('mactive'),
				$(this).addClass('mactive');
						});
					});	
            	});
            },
		error: function(){alert("ERROR not found XML file");}
	});
});

сам скрипт еще не доделан, потому что остановился на индексации данных, а вот
притаком раскладе скрипта, мне выдает все мои страницы и погружает в index.html.....а я хочу чтоб в начале грузилась только Page1.html, а остальные - по клику....но даже не могу вывести Page1.html.....прописывал .eq(0), начинает глючить сильно.....помогите плз! может не правильный XML???
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2013, 06:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

В порядок код js приведи сначала и лучше дай онлайн демо.
Что там за var i? где она используется? Почему у тебя buttons.click навешивается в цикле? Что значит "глючить сильно"?
Нафиг тебе вобще xml? С json ведь попроще работать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2013, 21:20
Аспирант
Отправить личное сообщение для Фридрих Посмотреть профиль Найти все сообщения от Фридрих
 
Регистрация: 10.09.2013
Сообщений: 59

спасибо за быстрый ответ! дело в том что я и не знал про json....
вот попытался создать json и наткнулся на ту же проблему, не могу вызвать только те данные которые мне нужны.....дело в том что внешний файл с данными будет менятся и вот как вызывать эти данные я не смог понять.....во всем интернете, я нашел только то, как синхронно вызвать все данные....а мне надо по пределенному клику - вызвать определенные данные...вот как то сложно мне....вся мысль в том, что HTML шаблон с простой таличной разметкой "header", "menu", "content", "footer"...
а во внешнем файле хронятся то что будет загружаться в шаблон и ко всему сам content храниться в отдельных HTML файлах.....
Ответить с цитированием
  #4 (permalink)  
Старый 22.10.2013, 05:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Фридрих
.вся мысль в том, что HTML шаблон с простой таличной разметкой "header", "menu", "content", "footer"...
а во внешнем файле хронятся то что будет загружаться в шаблон и ко всему сам content храниться в отдельных HTML файлах
То есть три запроса на одну страницу? И к чему все это? А индексация поисковиками не требуется?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 22.10.2013, 09:09
Аспирант
Отправить личное сообщение для Фридрих Посмотреть профиль Найти все сообщения от Фридрих
 
Регистрация: 10.09.2013
Сообщений: 59

<!DOCTYPE html>
<html>
<head>
	<meta content="text/html" charset="utf-8">
	<title>portfolio</title>
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript" src="js/script.js"></script>
	<link rel="stylesheet" href="css/index.css" type="text/css">
</head>
<body>
	<table class="master">
		<tr>
			<td>
			<center id="logo">
			</center>
			</td>
		</tr>
		<tr>
			<td>
				<center id="menu">
				</center>
			</td>
		</tr>
		<tr>
			<td id="view">
				
			</td>
		</tr>
	</table>
</body>
</html>

<?xml version='1.0' encoding='utf-8'?>
<base>
		<head head="Portfolio"/>
		<site menu="Page1" url="page1.html"/>
		<site menu="Page2" url="page2.html"/>
		<site menu="Page3" url="page3.html"/>
		<foot title="copyright"/>	
</base>

$(document).ready(function(){
$.get('base.xml',{}, function(xml){
                $(xml).find("head").each(function(){
                var logo = $(this).attr("head");             
                $('<l class="logo">'+logo+'</l>').appendTo('#logo');
			});
                $(xml).find("site").each(function(){
                var menu = $(this).attr("menu");             
                $('<m class="menu">'+menu+'</m>').appendTo('#menu');           
           	}); 
           	                 
				$('<div class="view"></div>').load($(xml).find("site").eq(0).attr("url")).appendTo('#view');

			var button = $('.menu');
			button.click(function(){
			var i = button.index(this);
			button.removeClass('mactive');
			$(this).addClass('mactive');
			$('.view').fadeOut(600).queue(function() {
			$('.view').stop(true, true).remove();	
			$('<div class="view"></div>').fadeIn(600).load(
			$(xml).find("site").eq(i).attr("url"))
			.appendTo('#view')
			.dequeue(); 
	  });
	});
  });     
});


исправил XML и дописал скрипт....работает так как мне надо....но не знаю на сколько грамотно...как тут читал "говнокод"....вот не знаю....мне это всё нужно для того что я учусь всего 2 месяца программированию....и очень мало чего знаю, моя метода в том, что я ставлю цель или задачу и таким способом учусь....
и к стати, при таком XML который у меня, он всё рано больше чем JSON?
И что такое "индексация поисковиками"??? где почитать про это....я так догадываюсь, это то как мою страничку будет искать GOOGle и ему подобные? даже и не думал про это....

Последний раз редактировалось Фридрих, 22.10.2013 в 09:15.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод данных из xml fAmOus Элементы интерфейса 3 31.07.2012 17:16
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Добавление данных в xml файл Arka1m Элементы интерфейса 9 18.11.2011 10:44
Помогите с парсингом XML Verhal Общие вопросы Javascript 2 12.06.2010 22:25
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29