Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.10.2008, 21:33
Аспирант
Отправить личное сообщение для Ichigeki Посмотреть профиль Найти все сообщения от Ichigeki
 
Регистрация: 24.10.2008
Сообщений: 48

Различия в работе для разных браузеров
у меня есть функция

var collapse_or_expand_symb = "+";
var collapse = false;
function ShowNews(capt,tdid,newstxt,shortNews)
   	{
    var td = document.getElementById(tdid);
    var cap = document.getElementById(capt);
    if(collapse) 
    	{//сворачиваем, показывая сокращенынй вариант новости
    	collapse_or_expand_symb = "+";
    	collapse = false;
    	td.innerHTML =  shortNews+"....";
    	}
    else 
    	{//сворачиваем, показывая полный вариант новости
    	collapse_or_expand_symb = "-";
    	collapse = true;
    	td.innerHTML =  newstxt;
    	}
    cap.innerHTML = collapse_or_expand_symb;
	}


работает ТОЛЬКО в IE.

Вопросов два:
1) почему работает тольк в IE?
2) еслть ли какой нибудь источник информации по сабжу? пока что такими источниками для меня являются ращличные статьи в которых делают оговорку что вот такой то кусок кода будет работать только в этом браузере, а для того чтобы он работал в таком то браузере надо сдлать вот так то. Вопрос - каким образом узнать наверняка как реализовать нужную функцию хотя бы для самых распространенных браузеров? Куда надо обращаться(исключая гугль )?

З.Ы. я в курсе что я ламер и код у меня такойже, поэтому жду только конструктивной критики и коненчо же помощи

Последний раз редактировалось Андрей Параничев, 24.10.2008 в 22:15. Причина: Пользуйтесь bb-кодами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2008, 18:57
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

вообще-то Ваш код работает.
Потестил в Opera 9.25, Safari, Chrome, FF 2.0.0.9
Ответить с цитированием
  #3 (permalink)  
Старый 27.10.2008, 22:12
Аспирант
Отправить личное сообщение для Ichigeki Посмотреть профиль Найти все сообщения от Ichigeki
 
Регистрация: 24.10.2008
Сообщений: 48

Сообщение от twolf Посмотреть сообщение
вообще-то Ваш код работает.
Потестил в Opera 9.25, Safari, Chrome, FF 2.0.0.9
спасибо большое за помощь, код действительно заработал после того как в html коде поменял строчку с

<a onClick="ShowNews('capt0','td0','news_full','news_short');"><td id=capt0 align=center width=3%>+</td></a>


на

<td align=center width=3%><a id=capt0  onClick="ShowNews('capt0','td0','news_full','news_short');">+</a></td>


хотя, не помйу почему раньше не работало в фаерфоксе и опере.

P.S. вопрос №2 остается открытым - можете ли посоветовать какой нибудь справочник хороший где все такие тонкости более-менее подробно освещены?
Ответить с цитированием
  #4 (permalink)  
Старый 28.10.2008, 13:29
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

<a><td></td></a>

какие же это тонкости. у вас неправильная вложенность тегов, это основы.

По js учебники посмотреть можно на этом сайте. например хорошая для начала Денни Гудман Библия пользователя.
По HTML и CSS есть хороший ресурс htmlbook.ru Там можно много почерпнуть из статей. И посмотреть какие рекомендуют книги.
Смотрите книги в которых учат верстать современно.
Например,
<td align=center width=3%>
это верстка 98 года. Надо отделять разметку от оформления, т.е. задавать все стили в CSS файле.
- такой вот устаревший код браузеры могут отображать по-разному,
- вес html файла увеличивается.
- и если верстальщик и программист разные люди, то возникнет геморой с представлением данных на странице.

Смотрите книги в которых уделяется внимание различным браузерам, соответствию их стандартам W3C.

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

Последний раз редактировалось twolf, 28.10.2008 в 13:31.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2008, 13:32
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от twolf
такой вот устаревший код браузеры могут отображать по-разному
Чего же там можно по разному отобразить? Выравнивание по центру, ширина 3%, какие еще варианты?
Ответить с цитированием
  #6 (permalink)  
Старый 28.10.2008, 14:02
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

в зависимости от доктайпа тег align может как поддерживаться так и не поддерживаться. При отсутствии доктайпа браузер переходит в режим совместимости, поэтому на странице можно увидеть совсем не то что мы хотим.
Это что касается данного примера. Я говорю вообще о таком устаревшем коде.
более подробно здесь

Последний раз редактировалось twolf, 28.10.2008 в 14:11.
Ответить с цитированием
  #7 (permalink)  
Старый 28.10.2008, 14:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от twolf
в зависимости от доктайпа тег align может как поддерживаться так и не поддерживаться.
Это стандарты или поддерживают его, или не поддерживают, а браузеры этот параметр у td поддерживают всегда. Я сейчас говорю только про приведенный в топике код.
Ответить с цитированием
  #8 (permalink)  
Старый 28.10.2008, 14:42
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

Сообщение от Kolyaj Посмотреть сообщение
Это стандарты или поддерживают его, или не поддерживают
а я про что писал, или вы хотите сказать что доктайп к стандартам отношения не имеет?
Цитата:
Выравнивание по центру, ширина 3%, какие еще варианты?
выравнивание - согласен. везде пройдет
ширина 3% - правильно сработает только в HTML 3.2
Ответить с цитированием
  #9 (permalink)  
Старый 28.10.2008, 14:57
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Вы писали
Сообщение от twolf
браузеры могут отображать по-разному
Как это относится к стандартам?

Сообщение от twolf
ширина 3% - правильно сработает только в HTML 3.2
А HTML 3.2 -- это где?
Ответить с цитированием
  #10 (permalink)  
Старый 28.10.2008, 15:01
-
Отправить личное сообщение для twolf Посмотреть профиль Найти все сообщения от twolf
 
Регистрация: 16.07.2008
Сообщений: 207

Цитата:
Как это относится к стандартам?
напрямую, смотря какой доктайп для страницы выставлен.
Цитата:
А HTML 3.2 -- это где?
это стандарт такой есть.
Ответить с цитированием
Ответ



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

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