Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2012, 19:11
Интересующийся
Отправить личное сообщение для S-27 Посмотреть профиль Найти все сообщения от S-27
 
Регистрация: 10.07.2012
Сообщений: 12

json slider вопросы
Вообщем внедряю я верстку, в которой присутствует эта радость. Происхождения я не знаю, да и просто связи с верстальщиком тоже нет. То есть работаю с тем что есть. А есть...как мне кажется не все.
Вот ссылка на страницу где работает этот слайдер - http://213.239.201.131/main.html

Его задача:
1) выделять активные пункты под текстом "6 впечатлений
на выбор:"
2) выдавать фоновую картинку выбраного пункта
3) Выдавать контент, который разделен на две части: левый и правый. (опять же, активного пункта)

Вообще в данный момент, показывается сначала контент при загрузке а затем подгружается альтернативный через файл php.
Как подключить еще контент...я не знаю.
Так же, возможно из-за предыдушей проблемы поймать первоначальный контент который был при загрузке - невозможно.

Буду рад советам и помощи!
Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2012, 20:58
Аватар для cmd
cmd cmd вне форума
Профессор
Отправить личное сообщение для cmd Посмотреть профиль Найти все сообщения от cmd
 
Регистрация: 19.03.2011
Сообщений: 177

Вы действительно думаете, что эту работу должен был сделать верстальщик?
__________________
Cogito, ergo sum
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2012, 21:32
Интересующийся
Отправить личное сообщение для S-27 Посмотреть профиль Найти все сообщения от S-27
 
Регистрация: 10.07.2012
Сообщений: 12

ну да, контент ведь статический....
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2012, 23:16
Аватар для cmd
cmd cmd вне форума
Профессор
Отправить личное сообщение для cmd Посмотреть профиль Найти все сообщения от cmd
 
Регистрация: 19.03.2011
Сообщений: 177

Статичный? Тогда и ajax статичный, если запроса к базе данных нет.
Что-то я не встречал в своей жизни ещё ни одного верстальщика, которые знает javascript и jQuery. Это уже не верстка, а разработка интерфейса.

Да и вообще, я не понимаю как можно поручить верстальщику писать что-то на javascript. Он же не видит всей картины (js может использоваться в комментариях, корзине покупок, формах), что будет приводить к: 1) использованию конфликтующий js-библиотек, 2) использованию устаревших версий библиотек 3) использование неоптимальных сборок библиотек 4) использованию конфликтующих переменных.

Так что Ваша отмазка, мол "верстальщик не доделал" для меня звучит совершенно дика. А разработчик для чего тогда нужен?

Если по существу: не вижу в HTML никаких альтернативных рисунков и альтернативного контента. Наверно, его и нет. Но вижу в main.js какие-то ajax-запросы:

$.ajax({
				url:'/parts/item-content.php',
				data:{
					action:id
				},
				dataType:'json',
				success:function(data){
					slider.cache[index] = data;
					data.href = href;
					slider.animation(data);
				}
			})

.....................

		$.ajax({
				url:'/parts/help.html',
				data:{
					action: $(this).attr('href')
				},
				dataType:'html',
				success:function(data){
					$('#help .window-box').html(data);
				}
			});


И там ещё несколько.

Проверяйте наличие файлов. Проверяйте правильность пути... Делайте дебаг.
__________________
Cogito, ergo sum
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2012, 23:52
Интересующийся
Отправить личное сообщение для S-27 Посмотреть профиль Найти все сообщения от S-27
 
Регистрация: 10.07.2012
Сообщений: 12

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

в файле js что вы привели, все по сути скрипты собраны воедино...
есть вот такой файл php из кода, который вы привели:

$.ajax({
02
                url:'/parts/item-content.php',
03
                data:{
04
                    action:id
05
                }

<?php
if (!function_exists(' json_encode_cyr')){
	function json_encode_cyr($str) {
		$arr_replace_utf = array('\u0410', '\u0430','\u0411','\u0431','\u0412','\u0432',
		'\u0413','\u0433','\u0414','\u0434','\u0415','\u0435','\u0401','\u0451','\u0416',
		'\u0436','\u0417','\u0437','\u0418','\u0438','\u0419','\u0439','\u041a','\u043a',
		'\u041b','\u043b','\u041c','\u043c','\u041d','\u043d','\u041e','\u043e','\u041f',
		'\u043f','\u0420','\u0440','\u0421','\u0441','\u0422','\u0442','\u0423','\u0443',
		'\u0424','\u0444','\u0425','\u0445','\u0426','\u0446','\u0427','\u0447','\u0428',
		'\u0448','\u0429','\u0449','\u042a','\u044a','\u042d','\u044b','\u042c','\u044c',
		'\u042d','\u044d','\u042e','\u044e','\u042f','\u044f');
		$arr_replace_cyr = array('А', 'а', 'Б', 'б', 'В', 'в', 'Г', 'г', 'Д', 'д', 'Е', 'е',
		'Ё', 'ё', 'Ж','ж','З','з','И','и','Й','й','К','к','Л','л','М','м','Н','н','О','о',
		'П','п','Р','р','С','с','Т','т','У','у','Ф','ф','Х','х','Ц','ц','Ч','ч','Ш','ш',
		'Щ','щ','Ъ','ъ','Ы','ы','Ь','ь','Э','э','Ю','ю','Я','я');
		$str1 = json_encode($str);
		$str2 = str_replace($arr_replace_utf,$arr_replace_cyr,$str1);
		return $str2;
	}
}
$html['content_l'] = '		<h2>2. Погружение с АКВАЛАНГОМ</h2>
							<p>Демократичность цен в Forza karting hall приятно радует. Но ещё больше порадует купон с 50% скидкой, воспользоваться которым можно будет до конца лета. Всего за 250 рублей Вы получите купон с номинальной стоимостью в 500 рублей. При этом вы можете купить до 30 купонов на одного человека! Приобретайте несколько купонов и составляйте свой собственный абонемент для посещения картодрома Forza!</p>
							<h3>Программа</h3>
							<ul>
								<li>Купон действует на один <strong>10-ти минутный заезд.</strong></li>
								<li>Один человек может использовать в <strong>день неограниченное количество купонов.</strong></li>
								<li>Ограничения: <strong>рост от 150 см., вес до 110 кг.</strong></li>
							</ul>
							<h3>Что нужно знать</h3>
							<ul>
								<li>Карты мощностью <strong>9 л.с.</strong></li>
								<li>Источник спортивных эмоций и адреналина</li>
								<li>Уютное кафе с видом на трассу</li>
								<li>Купон действует на один <strong>10-ти минутный заезд .</strong></li>
								<li>Один человек может использовать в день <strong>неограниченное количество купонов</strong></li>
							</ul>';



$html['content_r'] = '
								<a class="button-bay" href="#76"><span class="buy-right">1200 р. <span>купить</span></span></a> 
								<p class="short-info">
									<strong>Партнер:</strong> FORZA karting hall <br>
									<strong>Продолжительность:</strong> 20 минут<br>
									<strong>Количество участников:</strong> 1
								</p>
								<div class="prichina">
									<p class="title">3 причины</p>
									<p class="sub-title">купить этот подарок</p>
									<ul>
										<li><span class="number">1</span><span>Современные мощные карты от датской компании DINO</span></li>
										<li><span class="number">2</span><span>FORZA картинг является одной из самых «навороченных» московских трасс</span></li>
										<li><span class="number">3</span><span>Вы можете активировать услугу для 2х человек прямо на месте</span></li>
									</ul>
								</div>
								<div class="docs">
									<p class="title">Сомневаетесь?</p>
									<p>Убедитесь что сможете получить впечатление по сертификату в удобное для Вас время, Позвоните нашему партнеру: <strong>Forza Karting hall</strong> <span class="phone">745-6565</span></p>
									<p>Скажите что у Вас есть "Подарочный сертификат "Магазина Впечатлений" и забронируйте время для получения впечатления. </p>
								</div>
	';
$html['img'] = 'images/basket.jpg';
if($_GET['action'] == 'id-2 link'){
	$html['menuindex'] = 1;
}else{
	$html['menuindex'] = 0 ;
}

echo json_encode_cyr($html);
?>


вот после загрузки странице...его и выплевывает скрипт и постоянно обновляет...
Ответить с цитированием
  #6 (permalink)  
Старый 11.07.2012, 03:46
Аватар для cmd
cmd cmd вне форума
Профессор
Отправить личное сообщение для cmd Посмотреть профиль Найти все сообщения от cmd
 
Регистрация: 19.03.2011
Сообщений: 177

Ага... Так а в чем Вы сильны? php? Вот Вы привели php код. Если его выплевывает, то с ним и работайте. Во-первых, я бы сразу зарубил кириллицу и перешел на utf-8. Во-вторых, посмотрите какие параметры принимает переменная $_GET['action'] или $_POST['action']. Если параметры разные и соответствуют пунктам меню, то просто пишите условие switch и дело с концом.
__________________
Cogito, ergo sum
Ответить с цитированием
  #7 (permalink)  
Старый 11.07.2012, 10:58
Интересующийся
Отправить личное сообщение для S-27 Посмотреть профиль Найти все сообщения от S-27
 
Регистрация: 10.07.2012
Сообщений: 12

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

если я не прав, поправьте плиз...итак..
файл url:'/parts/item-content.php'
читаю - при условии происходит перекодировка, за тем условие...если была активирована "id-2" то $html['menuindex'] = 1; получает значение нет, иначе - 0.
И вывод на страницу того что получилось.

то есть в идеале вы советуете используя оператор switch вывести все 6 вариантов в этом файле. По поводу зарубки кириллицы, я вообще не знаю как это сделать.

В любом случае спасибо что не безучастны!
Ответить с цитированием
  #8 (permalink)  
Старый 11.07.2012, 14:46
Аватар для cmd
cmd cmd вне форума
Профессор
Отправить личное сообщение для cmd Посмотреть профиль Найти все сообщения от cmd
 
Регистрация: 19.03.2011
Сообщений: 177

Цитата:
то есть в идеале вы советуете используя оператор switch вывести все 6 вариантов в этом файле.
При условии, что action действительно передает разные id. Это надо проверить.

Цитата:
По поводу зарубки кириллицы, я вообще не знаю как это сделать.
Нахер убрать функцию json_encode_cyr, перекодировать файл в utf-8 без ВОМ, в конце вызов json_encode вместо json_encode_cyr и в шапке файла добавить
<?header('Content-Type: text/html; charset=UTF-8');?>
для полного фарша
__________________
Cogito, ergo sum
Ответить с цитированием
  #9 (permalink)  
Старый 11.07.2012, 14:53
Интересующийся
Отправить личное сообщение для S-27 Посмотреть профиль Найти все сообщения от S-27
 
Регистрация: 10.07.2012
Сообщений: 12

Сообщение от cmd Посмотреть сообщение
При условии, что action действительно передает разные id. Это надо проверить.
а как это можно проверить?) тупой вопрос конечно...


не знаю, может я не там ищу...но я удалил
if($_GET['action'] == 'id-2 link'){
	$html['menuindex'] = 1;
}else{
	$html['menuindex'] = 0 ;
}

скрипт продолжает работать без изменений.
И еще...он не меняет картинку...если блоки html он обновляет...то картинку нет

Последний раз редактировалось S-27, 11.07.2012 в 15:07.
Ответить с цитированием
  #10 (permalink)  
Старый 11.07.2012, 15:29
Аватар для zlodeeev
Кандидат Javascript-наук
Отправить личное сообщение для zlodeeev Посмотреть профиль Найти все сообщения от zlodeeev
 
Регистрация: 11.07.2012
Сообщений: 113

Вот что нашел:
Цитата:
Notice: Undefined index: action in /var/www/serg/data/www/my.ru/parts/item-content.php on line 63
{"content_l":"\t\t
Ищите ошибки в нём, хотя какой то контент этот php отдаёт, но он на древнемонгольском.

Последний раз редактировалось zlodeeev, 11.07.2012 в 15:32.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ajax и Json callback функция borabora Prototype & script.aculo.us 0 30.01.2012 14:01
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
передача JSON на сервер mikeles AJAX и COMET 0 04.03.2011 11:28
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10
JSON основы вопросы mycoding Общие вопросы Javascript 9 12.04.2010 19:59