PDA

Показать полную графическую версию : Сменая вкладок. каким образом?


Netloger
24-05-2007, 02:05
Доброго времени суток, уважаемые форумцы!

Подскажите пожалуйста, есть ли какая-нибудь возможность сдлеать следующую вещь:

Возьмем к примеру простой хтмл, есть стрничка, на ней там к примеру 5 кнопок. Не графических, просто в таблице 5 ячеек. Изначально они имеют одиз цвет, при клике на кнопку, она становится там другим цветом, тоесть выделяется. Как можно это сделать чтобы было один и раз и все, а не бегать по страницам и не прописывать новый стиль каждый раз для каждой страницы.

Тоесть надо узнавать что за страница или еще чего как, и в зависимости от этого присываивать ячейке какой-то определнный стиль. Кто-нить сталкивался? Есть идеи?

К примеру можно отнести несколько шабов ждумлы. Ходишь по разделам и там при заходе в раздел линк выделяется.

Заранее спасибо за ответ, наводки. :) Пользоваться можно всем, пхп, джаваскрипт и т.д

vadimiron
24-05-2007, 11:28
Netloger
Меняем стиль при событии onClick.

Something like that
<HTML>
<HEAD><TITLE>DIV Example</TITLE>
<SCRIPT LANGUAGE = "javascript">
function change() {
document.all.heading.style.color = "red";
}
</SCRIPT>
</HEAD>
<BODY>
<DIV ID=heading STYLE="color: blue" onclick="change()">
<H1> Click to turn this text red. </H1>
</DIV>
<BODY>
</HTML>

Netloger
24-05-2007, 23:20
Нет, это все ясно. Надо чтобы после ее нажатия на другой странице она так же оставалась в стиле нажатия, тоесть красной, а при переходе на другую страницу, просто загрузятся новые стили и все. дефолтные.

vadimiron
24-05-2007, 23:57
Netloger
Ну тогда сохранять в сессии или передовать переметрами (GET), или писать в куки на крайний случай

И призагрузке страницы обрабатывать данный параметр и загружать нужные стили

Sham
25-05-2007, 00:55
Netloger код давай... (шо за кнопки)

DedAlex
25-05-2007, 11:59
Скриптом проверять адрес страницы и в соответствии с адресом менять стиль у кнопки. Подробнее при наличии кода.

Netloger
26-05-2007, 01:09
Хм, какого кода именно? Не до конца понял просто, поясните если не сложно.

ПРимер: сайт html 5 страниц - 5 разделов - 5 кнопок на каждую страницу со ссылками. Надо сделать чтобы автоматом при выбранном разделе подключался определенный стиль, по-мойму я где-то видел что-то подбное, но там менялся просто стиль полностью для всего сайта.

Если нужны еще какие-то данные, скажу. :) Спасибо за ответы!

Sham
26-05-2007, 02:24
Netloger код примерной кнопки (что представляет - submit формы, скриптовая и т.д. - т.е. что делает - отсылает форму, или просто как ссылка...)

Netloger
27-05-2007, 00:29
Вы меня наверно не правильно все-таки понял, хотя скорее я наверно не правильно выразился. Не кнопки, просто ссылка. :)

Sham
27-05-2007, 01:25
Netloger ну для ссылок то это просто... ну вот хотя бы это...<script language="JavaScript">
<!--
function bg(){
var a=document.body.getElementsByTagName('A');
for (f in a){
if (a[f].href==document.location.href&&a[f].parentNode.tagName=='TD'){
a[f].parentNode.style.background='yellow';//фоновый цвет тега TD со ссылкой
}}}
//-->
</script>
<body onload="bg()">...Функция изменяет фоновый цвет клетки таблицы с текущей ссылкой на желтый. Как видно, это общий случай (перебираются все ссылки на страничке). Можно сделать и для ссылки конкретный стиль и т.д... Разберешься короче...

Netloger
27-05-2007, 01:50
о. меня поняли, спасибо. буду пробовать. Если что еще вернусь. :)

Underson
06-07-2007, 23:31
мне кажется что самый увернный вариант это отслеживание че нажато через GET. мне как то пришлось делать нечто подобное времени на подумать небыло и лобовое решение было вот такое конечно не лаконичное, но на сайтик где 5 ссылок покатить

$menu1_bg =""; $menu1_class ='class="menu2"';
$menu2_bg =""; $menu2_class ='class="menu2"';
$menu3_bg =""; $menu3_class ='class="menu2"';
$menu4_bg =""; $menu4_class ='class="menu2"';
$menu5_bg =""; $menu5_class ='class="menu2"';
$menu6_bg =""; $menu6_class ='class="menu2"';
$menu7_bg =""; $menu7_class ='class="menu2"';
switch ($menu){
case 1:
$menu1_bg ='bgcolor="#0D3456"'; $menu1_class ='class="menu1"';
break;
case 2:
$menu2_bg ='bgcolor="#0D3456"'; $menu2_class ='class="menu1"';
break;
case 3:
$menu3_bg ='bgcolor="#0D3456"'; $menu3_class ='class="menu1"';
break;
case 4:
$menu4_bg ='bgcolor="#0D3456"'; $menu4_class ='class="menu1"';
break;
case 5:
$menu5_bg ='bgcolor="#0D3456"'; $menu5_class ='class="menu1"';
break;
case 6:
$menu6_bg ='bgcolor="#0D3456"'; $menu6_class ='class="menu1"';
break;
case 7:
$menu7_bg ='bgcolor="#0D3456"'; $menu7_class ='class="menu1"';
break;

};



тоесть отслеживаем что нажато через ГЕТ и КЕЙСом выбираем значения цветов и стилей, в принципе если много ссылок это может статть довольно проблематичным хотя...

VeshchiyOleg
08-07-2007, 14:39
это же самое можно написать короче:
for ($i = 1; $i <= 7; $i++) {
if ($i == $menu) {
${'menu'.$i.'_bg'} = 'bgcolor="#0D3456"';
${'menu'.$i.'_class'} = 'class="menu1"';
} else {
${'menu'.$i.'_bg'} = '';
${'menu'.$i.'_class'} = 'class="menu2"';
}
}

Underson
09-07-2007, 11:38
это да..не вопрос.. но факт остается фактом.. все равно нужно через Гет передавать то на что кликнули

Alex_soldier
10-09-2007, 16:33
Я использую AML (http://alex-world.ru/aml).
Наиболее простой способ - завести "номерной стиль" и для каждой страницы указывать ее номер ссылки.
Приведу пример проекта:

{exec target="Page1.htm"}
{var name="0" value="1" title="Номер ссылки"}
{use src="_part1.txt" title="Шаблон верха страницы"}
{use src="Page1.txt" title="Тело страницы"}
{use src="_part2.txt" title="Шаблон низа страницы"}

{exec target="Page2.htm"}
{var name="0" value="2" title="Номер ссылки"}
{use src="_part1.txt" title="Шаблон верха страницы"}
{use src="Page2.txt" title="Тело страницы"}
{use src="_part2.txt" title="Шаблон низа страницы"}

{exec target="Page3.htm"}
{var name="0" value="3" title="Номер ссылки"}
{use src="_part1.txt" title="Шаблон верха страницы"}
{use src="Page3.txt" title="Тело страницы"}
{use src="_part2.txt" title="Шаблон низа страницы"}

{exec target="Page4.htm"}
{var name="0" value="4" title="Номер ссылки"}
{use src="_part1.txt" title="Шаблон верха страницы"}
{use src="Page4.txt" title="Тело страницы"}
{use src="_part2.txt" title="Шаблон низа страницы"}

{exec target="Page5.htm"}
{var name="0" value="5" title="Номер ссылки"}
{use src="_part1.txt" title="Шаблон верха страницы"}
{use src="Page5.txt" title="Тело страницы"}
{use src="_part2.txt" title="Шаблон низа страницы"}

<html>
<head>
<style>

a.link{var name="0" action="write" title="Вставка номера страницы"} {... например color: red; ...}

</style></head>
<body>
...
{use src="Menu.txt" title="Подключаем меню"}
...

<a class="link1" href="Page1.htm"> Страница 1 </a>
<a class="link2" href="Page2.htm"> Страница 2 </a>
<a class="link3" href="Page3.htm"> Страница 3 </a>
<a class="link4" href="Page4.htm"> Страница 4 </a>
<a class="link5" href="Page5.htm"> Страница 5 </a>

</body>
</html>

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

Собственно остается только загрузить программу в AML-редактор и откомпилировать. Через пару секунд получите те самые 5 html-страниц!

В своих проектах я использую гораздо более сложную структуру файлов проекта.
Если кто захочет тоже попробовать, обращайтесь. помогу!




© OSzone.net 2001-2012