Текущий архив: 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