Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Интернет
Предыдущая тема :: Следующая тема  
Автор Сообщение
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Вт Мар 25 2003 10:34    Заголовок сообщения: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Ситуация:
В левой колонке таблицы есть линки.В правой колонке текст.
Наводим мышь на один из линков - в правой колонке текст меняется на текст соответствующий линку. Убираем мышь с линка - возвращается исходный текст.
Как это сделать?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Роман



Зарегистрирован: 23.05.2003
Сообщения: 72

СообщениеДобавлено: Вт Мар 25 2003 12:08    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Линки пишем так:
< a href="url" onMouseOver = "changeInCell ('текст', cellID)" onMouseOut = "changeInCell ('текст', cellID)" >
Вот тебе такая функция на JavaScript:
function changeInCell (text, cellID) {
var action = eval ("document.all." + cellID + ".innerHTML = " + text)
}
Это наиболее простой вариант. Однако, он самый некрасивый, поскольку каждый раз надо прописывать 2 параметра. Другой вариант создать массив объектов с индексацией по именам (имя каждого из них - ID ячейки таблицы). Каждый объект имеет 2 свойства:
changed = "text"
normal = "text"
Этот способ делает редактирование содержимого ячеек более гибким, поскольку теперь все тексты в ячейках записаны в одном месте.
Чтобы еще более упростить работу можно написать функцию onLoad, которая будет заполнять уже созданные ячейки нужным содержимым из свойства normal элементов массива. Единственный недостаток состоит в том, что для того, чтобы обращаться к элементам массива, индексы которого представляют собой текстовую информацию, состоит в том, что необходимо иметь дополнительный массив с числовой индексацией, чтобы обращаться к элементам нужного массива в цикле. Однако, из этого положения тоже можно выйти, если использовать нумерацию для ID, но помните, что номеру должен прешествовать текстовый символ (хотя бы 1). Что ж так мы и поступим. Применяя метод substring, начиная с первого символа и заканчивая последним, мы после применения parseInt, получим корректное число. Ну ладно, чтобы не толочь воду в ступе приведу второй вариант кода:
Линк: < a id="l12" onMouseOver = "change (this.id)" onMouseOut = "reverse (this.id)" %gt;
Скриптовая часть:
var texts = new Array ()
texts[0] = {changed: "text", normal: "text"}
.....
texts[n] = .....
function change (id) {
var numindex = parseInt (id.substring (1, id.length))
var action = eval ("document.all.c" + numindex + ".innerHTML = " + texts[numindex].change)
}
для функции reverse () все то же самое, только вместо свойства change используй normal
Функция onLoad:
function fillIt () {
for (var i=0; i
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mpakmopucm



Зарегистрирован: 24.12.2002
Сообщения: 58
Откуда: Москва

СообщениеДобавлено: Вт Мар 25 2003 12:29    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

ДЫк, рекомендую посмотреть список и описание событий. А в тэг <A> вставляем атрибут ONMOUSEOVER="fChangeTextForvard();" ONMOUSEOUT="fChangeTextBack();", где fChangeTextForvard() и fChangeTextBack() - функции, написанные на JScript или VBScript и предназначены для выполнения во время НАСТУПЛЕНИЯ СОБЫТИЙ :курсор наводится на ссылку и, соответственно, сползает с нее.
Далее. Ячейка, в которую надо заменить текст должна быть поименованной типа <TD ID="cellToChange" NAME="cellToChange">. рекомендую использовать одновременно и ID, и NAME, причем с ИДЕНТИЧНЫМИ (воизбежание ошибки) значениями: IE для адресации использует ID, а другие - обычно NAME.
А теперь - все просто: в своей функции fChangeTextForvard делаем примерно так (JScript):
sOldText=document.all.cellToChange.innerText;
document.all.cellToChange.innerText="Это текст при наведении на ссылку";
в fChangeTextBack -
document.all.cellToChange.innerText=sOldText;

sOldText - глобальная переменная - объявляется раньше функций.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Вт Мар 25 2003 13:56    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Я извиняюсь...
В скриптах я начинающий, поэтому может не все и не так понимаю.
Но мне показалась что в способе описанном Mpakmopucm предпологается лишь два варианта текста. А у меня их 6. Т.е. один исходный который отображается всегда и 5 замещающих его.
А 5 потому что ссылок то 5 (в левом столбице пять ячеек со сылками).
Поэтому мне кажется что вариант (первый из вариантов)присланный Романом кажется мне более подходящим.
Извиняюсь, я в основном картинки ресую, а не програмиррую, а тута жизня приперла джавой заняться и я в самом начале ее освоения.
Поэтому, если можно, поподробнее. Хотя не настаиваю. И так классно.
Из одного примера взял функшин из дугого узнал как ID ячейкам назначать.
Вобщем всем ответившим очень признателен
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Вт Мар 25 2003 16:15    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

УРА!!!
Сам разобрался. Использовал всетаки вариант Mpakmopucm, но чтоб работало для нескольких текстов ввел в функцию fChangeTextForvard аргумент и все ништяк.
Всем успеха.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
ap
Гость





СообщениеДобавлено: Чт Мар 27 2003 20:46    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Напиши, плз, как ты сделал, у меня чего то не получается.
Вернуться к началу
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Пт Мар 28 2003 08:25    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Вот тебе код (пояснения некогда было писать, извини, думаю разберешся, пиши если что)



Untitled Document



function fChangeTextForvard(aa) {
sOldText=document.all.cellToChange.innerText;
docume nt.all.cellToChange.innerText=aa;
}
function fChangeTextBack() {
document.all.cellToChange.innerText=sOldText;
}





 

Гугле


Голый Вася





Рамблерище



Апортище


 
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Пт Мар 28 2003 08:33    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

Ой! Пардон.
Фигня какая-то вышла
Пример выслал на мыло начинающееся с test1233

Удачи.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
AlexiS_02



Зарегистрирован: 25.03.2003
Сообщения: 8

СообщениеДобавлено: Пт Мар 28 2003 10:12    Заголовок сообщения: Re: Текст в ячейке меняется при наведении мыши на линк находящийся в другой ячейке Ответить с цитатой

а как при этом обеспечить исходный формат текста, а то он заменяется на дефолтный?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Интернет Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...