Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.06;
Скачать: CL | DM;

Вниз

Как произвести подмену image в WebBrowser при наведении mouse?   Найти похожие ветки 

 
brestmarket   (2002-12-09 00:48) [0]

Как произвести подмену изображения в WebBrowser при наведении курсора мыши на это изображение? Интересуют только работающие примеры на Java и без него!
Вот мой пример на JavaScript, который имеет один недостаток:
Не работает, если имена файлов встречаются чаще одного раза.


<html>
<head>
<title>My Sample</title>

<script language="JavaScript" type="text/javascript">

if (document.images) {
b1_off = new Image(); b1_off.src = "images/www_install.gif"
b1_over = new Image(); b1_over.src = "images/www_install_over.gif"
b2_off = new Image(); b2_off.src = "images/www_openfolder.gif"
b2_over = new Image(); b2_over.src = "images/www_openfolder_over.gif"
b3_off = new Image(); b3_off.src = "images/www_screenshot.gif"
b3_over = new Image(); b3_over.src = "images/www_screenshot_over.gif"
}

function turn_off(ImageName) {
if (document.images != null) {
document[ImageName].src = eval(ImageName + "_off.src");
}
}

function turn_over(ImageName) {
if (document.images != null) {
document[ImageName].src = eval(ImageName + "_over.src");
}
}
</script>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>

<p><a href="Preview-1.htm" onmouseout="turn_off("b1")" onmouseover="turn_over("b1")" ><img name="b1"
src="images/www_install.gif" alt="" border="0"></a>
<a href="Preview-2.htm" onmouseout="turn_off("b2")" onmouseover="turn_over("b2")" ><img name="b2"
src="images/www_openfolder.gif" alt="" border="0"></a>
<a href="Preview-2.htm" onmouseout="turn_off("b3")" onmouseover="turn_over("b3")" ><img name="b3"
src="images/www_screenshot.gif" alt="" border="0"></a>

</p>
<table width="80%" border="0">
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><a href="Preview-2.htm" onmouseout="turn_off("b1")" onmouseover="turn_over("b1")" ><img name="b1"
src="images/www_install.gif" alt="" border="0"></a> </td>
<td> </td>
</tr>
</table>
<p> </p>
</body>
</html>


ВОПРОСЫ:
1. Как мне его изменить, чтобы решить проблему.
2. Есть ли возможность решить эту проблему без использования
JavaScript средствами только Delphi6 (это менее желательно).


 
brestmarket   (2002-12-09 10:25) [1]

Господа, прошу помощи!


 
int64   (2002-12-09 13:24) [2]

Дело не в одинаковых именах файлов, а в элементах с одинаковыми именами. У тебя два элемента с именем b1. И далее в функциях ты делаешь:
document.b1.src =...
Отсюда и глюки.

Чтобы вылечить, надо, как вариант, добавить новые переменные:
b4_off =
b4_over =
И имя одного из изображений заменить на b4.


 
brestmarket   (2002-12-09 14:32) [3]

Да, конечно. НО суть в том, что в одном моем документе есть всего-лишь 3 изображения (b1, b2, b3), вызов которых происходит более 70 раз и я не могу себе позволить, да это и неправильно, создание 210 переменных! Как быть?


 
int64   (2002-12-09 16:18) [4]

Тогда вызывай функции с двумя аргументами, например так:
function turn_off(ImageName, param) {
if (document.images != null) {
document[ImageName].src = eval(param + "_off.src");
}
}

ImageName - имя элемента, а param - имя подставляемой переменной.
Соответственно использование такое:
<a href="Preview-2.htm" onmouseout="turn_off("nnnnnnn","b1")" onmouseover="turn_over("nnnnnnn","b1")" ><img name="nnnnnnn"
src="images/www_install.gif" alt="" border="0"></a>


 
brestmarket   (2002-12-09 22:19) [5]

Есть ли вариант реализации этой задачи используя только WebBrowser, т.е. только средствами Delphi. Так, чтобы при наведении курсора мыши картинка подменялась - именно так реализовано в оболочках фирмы AlexSoft - записывающей компакт-диски.


 
brestmarket   (2002-12-10 15:51) [6]

Думаю, что лучший из способов здесь - реализация только на Delphi! Кто-нибудь, подскажите, как этого лучше добиться ТОЛЬКО СРЕДСТВАМИ DELPHI ?


 
int64   (2002-12-10 23:40) [7]

Не знаю, как в AlexSoft. Не видел. Но смею предположить, что подключаются к событиям DHTML.



Страницы: 1 вся ветка

Текущий архив: 2003.02.06;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.009 c
1-15715
Nikolai_S
2003-01-24 18:01
2003.02.06
Как обработать событие TForm.OnShortCut ?


3-15424
D
2003-01-21 14:20
2003.02.06
ошибка при отобр-и данных с LookupField


3-15454
PONTIY
2003-01-20 12:14
2003.02.06
Проблема с DBComboBox


1-15590
Tahion
2003-01-25 21:28
2003.02.06
Как заставить TPaintBox не стрираться при перекрытии его др. форм


1-15628
Ihtiandr
2003-01-29 13:16
2003.02.06
dbEdit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский