Вход

DHTML & CSS & JavaScript...

Научись общаться с машиной и научи других. Все вопросы связанные с программированием и разработкой программ.

Модератор: AxeL

Приближенный к ...

СообщениеПриближенный к ... modern modern 1
Оставил 3586 сообщений с 08 фев 2004
ФР: 20945
WWW
2 января 2005 в 17:39

Тема к софту не совсем относится, но по моему больше не где её начать..
Господа! кто знает как можно, с помощью сабжа изменить цвет фона ячейки стиль ссылки, при этом в той ячеке может кроме ссылки ещё и находится картинка, при желание можно и картинку поменять :)
Есть вот такой вариант решения:
[code:1]A.menuz { background: #ECEAE7; color: #82745D; padding: 4px 5px 4px 15px; display: block;}
A.menuz:hover { background: #B3AA9C; color: #FFFFFF; }[/code:1]
Но к сожалению когда в ячейке таблицы находится что-то кроме ссылки он работает не так как хотелось бы...
0

Сообщение Это снова я 19 февраля 2007 в 02:32

Не проверял, но возможно что-то типа этого.
[code:1]
<script language="javascript">
function change(id)
{
document.id.style.backgroundColor=#000000; //меняем сво-во стиля
document.id.inHTML="Здесь новый код в ячейке";
}
</script>

<td id="td" onMouseMove="change(this)">
[/code:1]
ENJOY! :D
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
13 апреля 2007 в 14:51

modern, можно сделать ссылку на весь размер ячейки:

[code:1]a.menuz { display: block;width: 100%;height: 100%; }[/code:1]

Чтобы картинку менять можно поиграть баграундами.

Но я, собственно, не за тем :) Каким образом черея яваскрипт можно отловить закрытие страницы?
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
13 апреля 2007 в 16:31


Каким образом черея яваскрипт можно отловить закрытие страницы?


Cобытие onUnload.
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
13 апреля 2007 в 17:26

Roman_, хочешь чтоб твой сайт нельзя было закрыть??? :D
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
13 апреля 2007 в 17:48

daggert, не совсем. Идёт проверка, сохранено ли то что сейчас на странице и возможность сохранить изменения. Web2.0 не за горами, как-никак :)

Random, спасибо. Только вот страница закрываетя. Возможно каким-нибудь образом отложить закрытие?
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
13 апреля 2007 в 18:10

Хм, а вот, честно говоря, не знаю. Но такое событие точно есть. По идее перед тем как страница будет закрыта должно выполниться событие.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
13 апреля 2007 в 18:23

Я использовал в виде <body onunload="f();return false;">

Если в вызываемой функции запускать alert, то страница закрывается и остаётся только алертовое окошко.

Если же выкидывать html'ное окошко (в виде слоя), то страница закроется не отреагировав на окошко.
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
13 апреля 2007 в 18:37

В опере ни событие onUnload, ни onbeforeUnload не пашут.
В IE сначала выскакивает окно алерта, а потом происходит закрытие, чего и следовало ожидать. Я просто подумал, что само событие не работает.
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
13 апреля 2007 в 18:38

Кстати, в чем различие Dhtml от обычного???
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
13 апреля 2007 в 18:40

В том, что страница формируется динамически 8) (Dynamic HTML).
0
Пишу регулярно

СообщениеПишу регулярно CrasHer CrasHer 0
Оставил 397 сообщений с 13 окт 2006
ФР: 12
13 апреля 2007 в 18:54

Этой темы недостаточно: http://vip.karelia.pro/viewtopic.php?t=5162 ??? :?
0
В авторитете

СообщениеВ авторитете Seeker Seeker 0
Оставил 2589 сообщений с 29 сен 2004
ФР: 8948
ICQ
13 апреля 2007 в 20:07

CrasHer, нет. там общие вопросы сайтостроения (как сайт разместить, где кнопочку поставить и т.п.), а тут dhtml, js, css ;)
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
13 апреля 2007 в 21:11

daggert писал(а):Кстати, в чем различие Dhtml от обычного???


В том что там используется объектная модель документа.

Random, само событие-то работает, но вот как отменить закрытие...
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
13 апреля 2007 в 21:36

<html>
<head>
<script language=JavaScript>
function reOpen()
{
window.open("адрес_страницы");
}
</script>
</head>

<body onunload="reOpen();">
</body>

</html>

При попытке выхода будет окрыта таже страница.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
13 апреля 2007 в 22:03

Random, не катит. То что было заполнено в форме удаляется, + ещё труднорешаемые проблемы появляются.
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
14 апреля 2007 в 20:29

Дак а какого эффекта ты добиваешься? Если хочешь сохранить данные, то ставь куки.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
14 апреля 2007 в 23:19

Random, там страница с формой. Форму можно сохранять без перегрузки страницы кнопкой (ajax). При переходе на другие страницы идёт проверка на изменение данных формы. Если изменение произошло, то выкидывается диалоговое окно с вопросом, сохранять или нет. Но, как известно, самая большая проблема интефейса - пользователь, вот как раз он может закрыть окно и потом удивиться «а чего ж это не спросило о сохранении? а вот micrоsоft word [указание версии] спросил бы о сохранении!» и закатить глазки.
0
Старик

СообщениеСтарик михалыч михалыч -1
Оставил 1362 сообщений с 14 июл 2006
ФР: 523
14 апреля 2007 в 23:58

Roman_ писал(а):Я использовал в виде <body onunload="f();return false;">

Если в вызываемой функции запускать alert, то страница закрывается и остаётся только алертовое окошко.

Если же выкидывать html'ное окошко (в виде слоя), то страница закроется не отреагировав на окошко.

был еще метод prompt :roll:

кажется на metallibrary.ru он использован, когда вводишь запрос в строку поиска и жмакаешь ентер, сперва выскакивает окошко с ОК и Отмена. Сорри если не в тему)))
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
15 апреля 2007 в 13:37

Я как-то не представляю как сохранить данные через яваСкрипт кроме как используя cookies. Вот простейший пример:

<html>
<head>
<script language="JavaScript">
function setCookie()
{
var now = new Date();
var expires = 10000;
now.setTime(now.getTime() + expires);
var delay = now.toGMTString();
document.cookie = "name=myName; expires=" + delay;
}
</script>
</head>

<body>
<h1 onClick="setCookie();">Set cookie</h1>
<h1 onClick="window.alert(document.cookie);">Show cookie</h1>
</body>

</html>

Время устанавливается в миллиСекундах.
Проверить разрешено ли использование cookies можно след. образом:
if (navigator.cookieEnabled)
{
//Cookie разрешены.
}

Думаю вытащить данные из формы и запихать их в куки через тот же яваСкрипт не составит труда.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
15 апреля 2007 в 22:28

Random, сохранение данных можно организовать при помощи XmlHttpRequest и php скрипта.
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
16 апреля 2007 в 15:51

Roman_, дак тебе данные через яваСкрипт или через пхп сохранить нужно?
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
16 апреля 2007 в 17:45

Random, мне нужно приостановить закрытие окна, до нажатия пользователем книопки «сохранить» или «не сохранять». Сохранять через php буду, но это уже другая история.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
24 апреля 2007 в 22:00

Вопрос.

Открываем новое окно при помощи JS через window.open. При помощи конструкции opener.document можно обращаться к объектам окна-родителя. Можно ли запустить подобным образом функцию в родителе?
0

СообщениеНовичок SDV SDV 0
Оставил 46 сообщений с 26 май 2005
ФР: 2107
1 мая 2007 в 00:15

Roman_ писал(а):Вопрос.

Открываем новое окно при помощи JS через window.open. При помощи конструкции opener.document можно обращаться к объектам окна-родителя. Можно ли запустить подобным образом функцию в родителе?


По-моему, нет. Но зато можно подключить внешний js код в обоих окнах/документах
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
4 мая 2007 в 23:56

Чёрт, аж стрёмно спрашивать уже — столько вопросов :)

Но. Есть способ отловить яваскриптом в ссылке часть — page.php?a=b#this ?
0
Почётный форумовец

СообщениеПочётный форумовец VictorS VictorS 0
Оставил 5464 сообщений с 20 мар 2005
ФР: -675
5 мая 2007 в 10:09

Есть. Это называет разбор строки через регулярное выражение.
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
5 мая 2007 в 12:55

VictorS, можно поподробнее? Гугл с яндексом не справились (хотя скорее всего я).
0
Пишу регулярно

СообщениеПишу регулярно Неоновый Неоновый 0
Оставил 349 сообщений с 17 май 2004
ФР: 7890
WWW
14 мая 2007 в 05:16

В мануале (не знаю насколько он свежий) по PHP есть описание регулярных выражений (Regular Expressions), и методов для работы с ними: ereg(), eregi(), ereg_replace(), eregi_replace().
В Яваскрипте используется такой же принцип. Очень подробно они описаны здесь и здесь
Если надо, могу ещё подробней ;-)
0
Кумир

СообщениеКумир torin torin 0
Оставил 6722 сообщений с 23 янв 2004
ФР: 3687
15 мая 2007 в 17:49

ereg, eregi это POSIX совместимые функции 8) можно ещо перл-совместимые юзать :)
+пост
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
15 мая 2007 в 18:06

Так, осилил что вы имеете в виду :) Я другое спрашивал немного. У меня нет строки адреса как строковой переменной. Требуется её получить, что-то вроде document.href или т.п.
0
Пишу регулярно

СообщениеПишу регулярно Random Random 0
Оставил 337 сообщений с 19 май 2005
ФР: 53
15 мая 2007 в 18:41

Roman_, http://programming.su/DHTML/example/4/

К слову, 2я ссылка по запросу "как получить строку запроса через JavaScript"
в яндексе.
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 22:30

[code:1]
<html>
<head>
<script language="JavaScript">

var imgFile = new Array ()
imgFile[0]="1.jpg"
imgFile[1]="2.jpg"
imgFile[2]="3.jpg"

var imgName = new Array ()
imgName[0]="Картинка 1"
imgName[1]="Картинка 2"
imgName[2]="Картинка 3"

var imgObj = new Array()
for (i=0; i<imgFile.lenght; i++){
imgObj[i]=new Image (200, 300)
imgObj[i].src=imgFile[i]
}

function imgshow(list){
var x=list.options[list.selectedIndex].value
document.all.img0.src=eval("imgObj["+ x +"].src")
}

var clist="<select oochange='imgshow(this)'>"
for (i=0; i<imgFile.lenght; i++) {
clist+="<option value="+ i +">" + imgName[i]
}
clist+="</select>
document.write(clist)
</script>
</head>
<img id="img0" src="1.jpg" width=200 height=300>
</html>
[/code:1]

Вопрос: Где я опечатался... Третий день проверяю код... Все 100% как в книге (хотя там тоже бывают опечатки)...
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 22:36

daggert писал(а):

Вопрос: Где я опечатался... Третий день проверяю код... Все 100% как в книге (хотя там тоже бывают опечатки)...



<html>
<head>
<script language="JavaScript">

var imgFile = new Array ()
imgFile[0]="1.jpg"
imgFile[1]="2.jpg"
imgFile[2]="3.jpg"

var imgName = new Array ()
imgName[0]="Картинка 1"
imgName[1]="Картинка 2"
imgName[2]="Картинка 3"

var imgObj = new Array()
for (i=0; i<imgFile.length; i++){
imgObj[i]=new Image (200, 300)
imgObj[i].src=imgFile[i]
}

function imgshow(list){
var x=list.options[list.selectedIndex].value
document.all.img0.src=eval("imgObj["+ x +"].src")
}

var clist="<select onChange='imgshow(this)'>"
for (i=0; i<imgFile.length; i++) {
clist+="<option value="+ i +">" + imgName[i]
}
clist+="</select>
document.write(clist)
</script>
</head>
<img id="img0" src="1.jpg" width=200 height=300>
</html>
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 22:38

teran, типо leght надо писать???
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 22:41

вобще код кривой какой то
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 22:41

teran писал(а):вобще код кривой какой то


с книги для новичков JavaScript
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 22:43


teran, типо leght надо писать???

(: сравним варианты..
твой первый
lenght

мой вариант:

length

твой второй:

leght

назвается найди различия :)
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 22:44

teran, )))) Соррь. Туплю.

Чет опять нетак написал... Терь выпадающий список не появляеться
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 22:54

попробуй как нить так..
[code:1]
<html>
<head></head>
<body>
<script language="JavaScript">

var imgFile = new Array ()
imgFile[0]="1.jpg"
imgFile[1]="2.jpg"
imgFile[2]="3.jpg"

var imgName = new Array ()
imgName[0]="Картинка 1"
imgName[1]="Картинка 2"
imgName[2]="Картинка 3"


function imgshow(index){
var my_image = documnet.getElementById("my_image");
my_image.src = imgFile[index];
}

var clist="<select onChange='imgshow(this[selectedIndex].value)'>" ;

for (i=0; i<imgFile.length; i++) {
clist+="<option value="+ i +">" + imgName[i] + "</option>";
}

clist+="</select>";
document.write(clist) ;

</script>



<img id="my_image" src="1.jpg" width="200" height="300">
</body>
</html>
[/code:1]
работать правда врядли будет, ибо не проверял (:
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 22:57

teran, спасибо огромное! Работает! (токо исправь плз documnet на document)
**наливает себе ускувара и медленно режет книгу по ява-скрипту
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 22:59

не за что..
вот теперь для собственого развития попытайся понять почему не работало старое (:
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 23:06

teran, этим собственно и занимался. Сначала думал что не задаеться i, но потом понял что оно задаеться, ибо прописав левые строки всетаки увидил результат.
Всетаки думаю что там массив сбивал привязывание имени и src. Хотя в таком я профан... Непонимал паскаля в школе, непонимаю С++ (хотя блокнот написал в нем)... хз... Учусь
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 23:23

ну из всего твоего куска кода меня больше всего не опечатки эти смущали а отсутствие тегов <body></body> хотя там и </option> не было.. но последние не влияет ни на что, хотя код не валидный получается.

добавлено спустя:

Ну и плюс то что сам этот селект выводился между <head></head>
0

Сообщениеидиотъ daggert daggert 9
Оставил 11174 сообщений с 22 окт 2005
Блог: Просмотр блога (1)
ФР: 126247
WWW
17 мая 2007 в 23:31

teran писал(а):ну из всего твоего куска кода меня больше всего не опечатки эти смущали а отсутствие тегов <body></body> хотя там и </option> не было.. но последние не влияет ни на что, хотя код не валидный получается.

добавлено спустя:

Ну и плюс то что сам этот селект выводился между <head></head>


Яж говорю - руководство паленое...
0
Легенда форума

СообщениеЛегенда форума teran teran 111
Оставил 6656 сообщений с 23 янв 2004
ФР: 147260
17 мая 2007 в 23:35

ну дак напиши издателю "книга ацтой" (:
изучай лучше msdn.com/library (:
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
12 октября 2007 в 22:46

Есть скрипт drag&drop'а. Работает под ИЕ и Оперой отлично. Косяки возникают в ФФ.

[code:1]flg = (document.all) ? 0 : 1;
var obj;

function mousedown(ev)
{
if (flg)
{
obj = document.layers[ev.target.name];
X=ev.x;
Y=ev.y;
return false;
}
else
{
obj = event.srcElement.parentElement.style;
X=event.offsetX;
Y=event.offsetY;
}
}

function mousemove(ev)
{
if (obj)
{
if (flg)
{
obj.moveTo((ev.pageX-X), (ev.pageY-Y));
}
else
{
obj.pixelLeft = event.clientX-X + document.body.scrollLeft;
obj.pixelTop = event.clientY-Y + document.body.scrollTop;
return false;
}
}
}

function mouseup()
{
obj = null;
}

if (flg)
{
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}

document.onmousedown = mousedown;
document.onmousemove = mousemove;
document.onmouseup = mouseup;[/code:1]

ФФ валится на строке [code:1]obj = document.layers[ev.target.name];[/code:1]

Знает кто-нибудь чем заменить? (Или как вручную указать id таскаемого слоя.)
0
Гуру

СообщениеГуру ak1ra ak1ra 0
Оставил 800 сообщений с 10 фев 2007
ФР: -107
ICQ
11 февраля 2008 в 15:36

1. Как на JavaScript к объекту <SELECT> добавить новые <OPTIONS>?
2. Как узнать количество элементов массива, с помощью какой функции?
0
Бессмертный

СообщениеБессмертный laser laser 0
Оставил 12986 сообщений с 06 сен 2005
ФР: 17876
ICQ
12 февраля 2008 в 11:08

ak1ra,
1.
var newOpt = document.createElement("OPTION")
document.form1.select1.options.add(newOpt)
newOpt.innerText = "Text"
newOpt.Value = "2"

2.
var myArray = new Array ("one", "two", "three");
myArray.length;

Roman_, я делал драг энд дроп по другому, вроде в фф работало =) наверное уже не актуально...
0
В авторитете

СообщениеВ авторитете Roman_ Roman_ 1
Оставил 2718 сообщений с 23 янв 2004
ФР: 2468
12 февраля 2008 в 12:34

laser писал(а):Roman_, я делал драг энд дроп по другому, вроде в фф работало =) наверное уже не актуально...


Ага, уже решил. Пришлось отбросить готовое решение и написать самому.
0



Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3