Исправить код html из-за события onClick
Здравствуйте.
Помогите исправить валидность кода. Событие <a href='#' onClick="detailss(8888888);return false;">......</a> после клика открывает контейнер <div id=\"8888888\" style=\"DISPLAY: none;\"> Но значение атрибута "ID" не может начинаться цифрой. Если меняю цифры на буквы - скрипт не работает. Если изменю цифры на другие - работает. Как же в значении атрибута "ID" заменить цифры на буквы? Функция имеет вот такой вид - а что в ней подправить ?????? var acv_desscriptions; function detailss(id) { if(acv_desscriptions == id){ var desscription = document.getElementById(id); desscription.style.display = (desscription.style.display == 'none')?'block':'none'; } else{ document.getElementById(id).style.display = 'block'; if(acv_desscriptions) document.getElementById(acv_desscriptions).style.d isplay = 'none'; acv_desscriptions = id;} |
<a href='#' onClick="ShowHide('Hide_Show');return false">Клик</a> <div id="Hide_Show" title="block" style="display:none">после клика открывает контейнер</div> <script type="text/javascript"> function ShowHide(id) { var a = document.getElementById(id); var b = a.title; a.title = a.style.display; a.style.display = b; } </script> |
Нет, не помогло.
Заменил все. В трех файлах. Только на локальном сервере. Главная пропадает (кроме хедера) |
Цитата:
|
Если код страницы то это главная сайта iads.com.ua
Не сочтите за спам. С песочницей не разберусь. Может нужны и файлы? |
P.S.
Там же такая же беда и с функцией details (с одним s) |
Гляну ближе к вечеру
|
ok.
Но все таки мне интересно что если вместо восьмерок прописать другие цыфры то все работает, а если прописать буквы то контейнер div не открывается. |
Alex45,
Вот Эту строку <div align="right"><h2><img src="http://iads.com.ua/images/gal.gif" alt="Категория"> <a href="#" onClick="detailss(8888888);return false;" style="cursor:pointer">Выберите категорию</a></h2></div> <div id="8888888" style="DISPLAY: none;"><div style="margin-top:15px;"><div style="float:left; margin-right:10px;"> Замените на такую <div align="right"><h2><img src="http://iads.com.ua/images/gal.gif" alt="Категория"> <a href="#" onClick="ShowHide('Hide_Show');return false" style="cursor:pointer">Выберите категорию</a></h2></div> <div id="Hide_Show" title="block" style="display:none"><div style="margin-top:15px;"><div style="float:left; margin-right:10px;"> В самый конец подгружаемых скриптов добавьте function ShowHide(id) { var a = document.getElementById(id); var b = a.title; a.title = a.style.display; a.style.display = b; } |
В самый конец подгружаемых скриптов - вот в этом я не силен.
Где это? |
Это в том файле, где прописаны все функции?
А эти можно и не удалять? |
Цитата:
|
Сделал. Но это я делал и в первый раз. На главной остается только шапка.
Но делаю на локальном сервере. |
Цитата:
|
Вставить на тестовую Инет-страницу - опять я не пойму.
|
Расписал подробно:
В первом файле было: <div align="right"><h2><img src="<?=$im?>/gal.gif" alt="Категория" > <a href='#' onClick="detailss(8888888);return false;" style="cursor:pointer"><? =$lang[99]?></a></h2></div> Заменил на: <div align="right"><h2><img src="<?=$im?>/gal.gif" alt="Категория" > <a href='#' onClick="ShowHide('Hide_Show');return false;" style="cursor:pointer"><?= $lang[99]?></a></h2></div> В этом же файле ниже было: echo "<div id=\"8888888\" style=\"DISPLAY: none;\">"; $categories = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = 0 ORDER by name_cat ASC"); while($category = mysql_fetch_array($categories)) { $sub = 1; $query = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = ". $category['id']); $count_subcat = mysql_num_rows($query); echo "<div style=\"margin-top:15px;\">";// echo ($category['img']!="")?"<div style=\"float:left; margin-right:10px;\"> Заменил только в верхней строке: echo "<div id=\"Hide_Show\" title="block" style=\"DISPLAY: none;\">"; В файле подгружаемых скриптов добавил в самом низу: function ShowHide(id) { var a = document.getElementById(id); var b = a.title; a.title = a.style.display; a.style.display = b; } и закрыл скобку } И есть еще один файл с функцией: Было <script language="JavaScript"> var acv_desscriptions; function detailss(id) { if(acv_desscriptions == id){ var desscription = document.getElementById(id); desscription.style.display = (desscription.style.display == 'none')?'block':'none'; } else{ document.getElementById(id).style.display = 'block'; if(acv_desscriptions) document.getElementById(acv_desscriptions).style.d isplay = 'none'; acv_desscriptions = id;} } </script> Заменил на: <script language="JavaScript"> var acv_desscriptions; function ShowHide(id) { var a = document.getElementById(id); var b = a.title; a.title = a.style.display; a.style.display = b; } </script> Всё - главная страница пропадает почти. Я менял и на хостинге - то же самое. |
Alex45,
Воткните код под кнопку <> 2. Попробуйте заменить вышеприведенное на HTML код из браузера |
Не пойму.
|
Цитата:
далее - contrl+U, -скопируйте код страницы, замените предыдущее сообщение на скопированное в режиме редактирования сообщения, Выделите весь код и нажмите кнопку <> в окне редактирований сообщения... Так понятней ? |
<div align="right"><h2><img src="http://iads.com.ua/images/gal.gif" alt="Категория"> <a href="#" onClick="detailss(8888888);return false;" style="cursor:pointer">Выберите категорию</a></h2></div> <div id="8888888" style="DISPLAY: none;"><div style="margin-top:15px;"><div style="float:left; margin-right:10px;"> |
Alex45,
Либо читаете и вникаете, либо ищите платных фрилансеров |
Если вы имеете ввиду чтобы я скинул вам код тот, что получился после всех проделанных замен в файлах, то это не возможно т.к. его нет.Остается только код хедера. И даже он не влезает в окно редактирования.
|
Цитата:
Цитата:
|
Вот все что осталось после замены. Просто файл хедера отдельно, потом идет тот файл, где делаем замену. Вот его вроде полностью и нет.
<head> <title>Заголовок страницы, который будет вставляться при отсутствии динамической информации</title> <meta HTTP-EQUIV="Pragma" CONTENT="no-cache"> <meta HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <meta http-equiv="Content-Language" content="ru"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta name="author" content="Joker"> <meta name="copyright" content="allpublication.ru"> <meta content="index, follow, all" name="robots"> <meta content="5 days" name="revisit-after"> <meta name="keywords" content="Ключевики, которые будут вставляться при отсутствии динамической информации"> <meta name="description" content="Описание, которое будет вставляться при отсутствии динамической информации"> <link rel="alternate" type="application/rss+xml" href="http://ka/rss/?NumUserMess=10&id_category=no" title="Заголовок страницы, который будет вставляться при отсутствии динамической информации" /> <link href="http://ka/images/css.css" rel="stylesheet" type="text/css"> <script language="JavaScript"><!-- var sHttpReqb = 'http://ka'; // --></script> <script type="text/javascript" src="http://ka/js/thumbnailviewer.js"></script> <script type="text/javascript" src="http://ka/js/ot.js"></script> <script type="text/javascript" src="http://ka/js/JsHttpRequest.js"></script> </head> <BODY> <script type="text/javascript" src="http://ka/js/wz_tooltip.js"></script> <div style="width:100%"> <div id="logo" align="center"> <a href="http://ka/" onMouseOver="Tip('На главную страницу сайта')"><img src="http://ka/images/logo_board_2.png" /></a></div> <div id="menu"> <div style="padding-left:15px;"> <a href="http://ka/">Главная</a> <img src="http://ka/images/head_news.gif" align="top"> <a href="http://ka/news/" onMouseOver="Tip('Новости')">Новости</a> <img src="http://ka/images/head_search.gif" align="top"> <a href="http://ka/search/" onMouseOver="Tip('Расширенный поиск')">Расширенный поиск</a> <img src="http://ka/images/head_query.gif" align="top"> <a href="http://ka/query/" onMouseOver="Tip('Поисковые запросы')">Поисковые запросы</a> <img src="http://ka/images/head_map.gif" align="top"> <a href="http://ka/sitemap/" onMouseOver="Tip('Карта сайта')">Карта сайта</a> <img src="http://ka/images/rss2.gif" align="top"> <a href="http://ka/rss/" onMouseOver="Tip('Подписка на свежие объявления')"> RSS</a> <img src="http://ka/images/head_mail.gif" align="top"> <a href="http://ka/contacts/" onMouseOver="Tip('Контакты')">Контакты</a> </div> <div class="link_item"> <H5><a href="http://ka/add/" onMouseOver="Tip('Добавить объявление')">Добавить объявление</a></H5> </div> <div class="link_item"> <H5><a href="http://ka/all_cat/" onMouseOver="Tip('Категории')">Категории</a></H5> </div> <div class="link_item"> <div id="selcity"> <H5><a href="javascript:selcity('1');">Ваш город</a></H5> </div> </div> <div class="link_item"> <div id="note"> <H5> <a href="http://ka/note/">Ваш блокнот</a> (1) </H5> </div> </div> </div> </div> <div style="width:100%;"> <div id="center_left"> <table border="0" class="GRayBox" cellpadding="0" cellspacing="0"> <tr class="top"> <td class="img1"> </td> <td class="img2"> </td> <td class="img3"> </td> </tr> <tr> <td class="imgL"> </td> <td class="t"><form name=primer action="http://ka/search/" method=get> <div style="float: left"><strong class="up"> Поиск. </strong> Пример: <SPAN style="CURSOR: auto; BORDER-BOTTOM: #000000 1px dotted; TEXT-DECORATION: none" onclick = "document.forms['primer'].word.value='Моё объявление'"><strong> Моё объявление </strong></span></div> <div style="float:right"><a href="http://ka/search/" class="top" onMouseOver="Tip('Расширенный поиск')"> Расширенный поиск </a></div> <br /> <br /><div style="width:100%;"> <div style="float: left; width:80%;"> <INPUT style="width:100%" name='word' class="w100" type='text'> </div> <div style="float: right; width:20%;"> <input type=hidden name='w' value='{$w}'> <input type=hidden name='city' value='0'> <input type=hidden name='time' value='0'> <input type=hidden name='type' value='0'> <input type=hidden name='images' value='0'> <INPUT type=submit style="width:100%" class=longok value="Поиск"> </div></div> </FORM></td> <td class="imgR"> </td> </tr> <tr class="bottom"> <td class="img1"> </td> <td class="img2"> </td> <td class="img3"> </td> </tr> </table> <table border="0" class="OBox" cellpadding="0" cellspacing="0"> <tr class="top"> <td class="img1"> </td> <td class="img2"> </td> <td class="img3"> </td> </tr> <tr> <td class="imgL"> </td> <td class="t"><strong>Файл inc/adv_1.inc.php.</strong><br /> Может использоваться в качестве рекламы: Директ, Бегун, Adsens. Баннерная, контекстная реклама. В качестве информационного блока.</td> <td class="imgR"> </td> </tr> <tr class="bottom"> <td class="img1"> </td> <td class="img2"> </td> <td class="img3"> </td> </tr> </table> |
Работает!
Только если не прописывать это: title="block" И работает даже если тело функции оставить то, что было в начале. Меняем только имя функции ну и параметр. Вот код: <div align="right"><h2><img src="http://ka/images/gal.gif" alt="Категория" > <a href='#' onClick="ShowHide('Hide_Show');return false;" style="cursor:pointer">Выберите категорию</a></h2></div> <div id="Hide_Show" style="DISPLAY: none;"><div style="margin-top:15px;"><div style="float:left; margin-right:10px;"> Спасибо за помощь. |
Ошибочка вышла. Работает - это в смысле открывается вся главная страница. А вот скрипт не работает. Блок <div> не открывается.
Вот html-код после замены на хостинге: <div align="right"><h2><img src="http://iads.com.ua/images/gal.gif" alt="Категория"> <a href="#" onClick="ShowHide('Hide_Show');return false;" style="cursor:pointer">Выберите категорию</a></h2></div> <div id="Hide_Show" style="DISPLAY: none;"><div style="margin-top:15px;"><div style="float:left; margin-right:10px;"> |
Alex45,
http://iads.com.ua/ Там у Вас подобный скрипт стоит на каждой кнопке Еще раз 1. Это та страница, которую нужно исправить ? http://iads.com.ua/ 2. Сделайте скриншот, укажите на нём стрелками какие клавиши тыкать ,скриншот можно залить сюда => http://uploads.ru/ (* и поясните что не происходит, 3. Проверьте В Oпере - работает ? У меня сейчас работает(если та страница, Укажите свой обычный браузер. |
Здравствуйте Deff. Извините за заморочку.
У меня браузер Firefox. Поставил Operu - все равно после замены в файлах не открывается блок div. Скриншоты: Просмотр: http://uploads.ru/YQRHA.png Прямая ссылка: http://s2.uploads.ru/YQRHA.png Просмотр: http://uploads.ru/2FurP.png Прямая ссылка: http://s3.uploads.ru/2FurP.png После проведенных замен в файлах блок "Выберите категорию" не открывается. А должен открыться список всех категорий. А там еще больше таких кнопок, но с функцией details (с одним s). Вы пишете, что у вас в Опере работает. Работает что? Я же на хостинге в файлах замену не делал. Если надо - сделаем. |
Alex45,
Вроде понял задачу... Короче необходимо заменить ID на нецифровое при сохранении скрытия закрытия списка категорий и элементов списка внутри... Думаю до ночи сделаю(сейчас в запарке на работе. |
Спасибо
|
1. Замените большой кусок между тегами
Цитата:
=========================================== 2. После скрипта на странице <script type="text/javascript" src="http://iads.com.ua/js/wz_tooltip.js"></script> Поставьте такое: <script type="text/javascript" src="http://yandex.st/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> function details (ID) { $(".Active-div:not([id='id_8888888'])").removeClass('Active-div').slideUp('slow'); $("#"+ID).toggleClass('Active-div').slideToggle('slow'); } </script> |
Все заменил. На хостинге. Можно просмотреть.
Блок с категориями - все нормально - открывается. Даже открывается без прописывания скрипта после строки: <script type="text/javascript" src="http://iads.com.ua/js/wz_tooltip.js"></script> Только меняется способ разворачивания блока. А вот блоки с подкатегориями не открываются. |
Цитата:
|
Вот файл, в котором делаем замену. Что же в нем удалить, а что оставить? Хотя бы чтобы проверить работу.
<div align="right"><h2><img src="<?=$im?>/gal.gif" alt="Категория" > <a href='#' onClick="details('id_8888888');return false;" style="cursor:pointer"><?= $lang[99]?></a></h2></div> <? if (@$_GET['city']) { $from_city_query = mysql_query ("SELECT city_name FROM jb_city WHERE city_translit = '".$_GET['city']."' LIMIT 1"); if (mysql_num_rows ($from_city_query) == 1) { $from_city = mysql_fetch_assoc ($from_city_query); $city_from_search = " AND city = '".$from_city['city_name']."' "; $GLOBALS['city_name_from_tips'] = $from_city['city_name']; $GLOBALS['start_for_links'] = "city/".$_GET['city']."/"; $GLOBALS['end_for_links'] = "sort/city_asc/page/1/"; } else echo "<HTML><HEAD><META HTTP-EQUIV='Refresh' CONTENT='0; URL=".$h."/'></HEAD></HTML>"; } else { $GLOBALS['start_for_links'] = ""; $GLOBALS['end_for_links'] = "sort/date_desc/page/1/"; } $GLOBALS['host'] = $h; function listcat2($id, $sub, $city_from_search) { $categories = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = $id"); while($category = mysql_fetch_array($categories)) { $count = mysql_num_rows(mysql_query("SELECT * FROM jb_board WHERE id_category='".$category['id']."' ".@$city_from_search)); $query = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = ".$category['id']); @$count_subcat_in_the_cat = mysql_num_rows($query); if (@$count_subcat_in_the_cat) {$br = ""; $bold = " b ";} else {$br = "<br />"; $bold = "";} echo ($category['img']!="")?"<img onmouseover=\"Tip('".$category['name_cat'].": ".$category['description']."')\" align=left src=\"".$GLOBALS ['host']."/upload/cat/".$category['img']."\">":" "; if (@$GLOBALS['city_name_from_tips']) $tip_city = " ".$lang[538]." ".$GLOBALS['city_name_from_tips']; else $tip_city = ""; for($i = 0; $i < $sub; $i++) echo " "; if(!@$count) echo "<span class=\"dark_red $bold\" href=\"".$GLOBALS['host']."/advertisement/".@$GLOBALS['start_for_links']."nesting/". $category['id']."/".@$GLOBALS['end_for_links']."\">".$category['name_cat']."</span>$br"; else echo "<a class=\"$bold\" onmouseover=\"Tip('".$count." ".PluralForm($count,$lang[262],$lang[263],$lang[264])." ".$lang[262]." ". $category['description'].$tip_city."')\" href=\"".$GLOBALS['host']."/advertisement/".@$GLOBALS['start_for_links']."nesting/".$category['id']."/".@$GLOBALS ['end_for_links']."\">".$category['name_cat']."</a>$br"; $root = 0; listcat2($category['id'], $sub+1, $city_from_search); } } echo "<div id=\"id_8888888\" style=\"DISPLAY: none;\">"; $categories = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = 0 ORDER by name_cat ASC"); while($category = mysql_fetch_array($categories)) { $sub = 1; $query = mysql_query("SELECT * FROM jb_board_cat WHERE root_category = ". $category['id']); $count_subcat = mysql_num_rows($query); echo "<div style=\"margin-top:15px;\">";// echo ($category['img']!="")?"<div style=\"float:left; margin-right:10px;\"> <img onmouseover=\"Tip('".$category['name_cat'].": ".$category['description']."')\" align=left src=\"".$GLOBALS['host']."/upload/cat/".$category ['img']."\"></div>":" "; echo "<H4><a href=# onClick=\"details(9999".$category['id'].");return false;\" style=\"cursor:pointer\">".$category['name_cat']."</a></H4>"; $root = 0; if(@$count_subcat > 0) { echo "<div align=right id=\"9999".$category['id']."\" style=\"DISPLAY: none; width=50%\">"; listcat2($category['id'], $sub, @$city_from_search); echo "</div>"; } echo "</div>"; } echo "<br /><br /></div>"; ?> |
Alex45,
я не шарю в PHP Открой страницу http://iads.com.ua/ (сонтрл+U ) в Браузере и глянь указания в сообщении 31 |
могу выложить на хост целиком http://hostjs-mybb2011.narod.ru/Dosk...j_Ukrainih.htm
|
Заменил. Вставил все. Главная вылетела, кроме хедера.
|
Alex45,
Эээ - опять что не так ? Ксать передвинь это в недер <script type="text/javascript" src="http://iads.com.ua/js/wz_tooltip.js"></script> <script type="text/javascript" src="http://yandex.st/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> function details (ID) { $(".Active-div:not([id='id_8888888']):not([id='"+ID+"'])").removeClass('Active-div').slideUp('slow'); $("#"+ID).toggleClass('Active-div').slideToggle('slow'); } </script> Ксать поправил скрипт! |
Если прописываю этот скрипт в хедер перестает открываться первый блок (блок с категориями).
Эта строка портит: $(".Active-div:not([id='id_8888888']:not([id='"+ID+"'])").removeClass('Active-div').slideUp('slow'); |
Alex45,
Поправил <script type="text/javascript" src="http://iads.com.ua/js/wz_tooltip.js"></script> <script type="text/javascript" src="http://yandex.st/jquery/1.5.1/jquery.min.js"></script> <script type="text/javascript"> function details (ID) { $(".Active-div:not([id='id_8888888']):not([id='"+ID+"'])").removeClass('Active-div').slideUp('slow'); $("#"+ID).toggleClass('Active-div').slideToggle('slow'); } </script> |
Часовой пояс GMT +3, время: 08:27. |