Jump to content
  • 0

Roloover меню на js


optic18
 Share

Question

Всем доброго времени суток!

В общем надо сделать такое. Эсть меню, когда оп нему водишь мышкой, под каждым пунктом меню подсвечивается картинка. Такая вещь в принципе много где описана, но е меня есть нюанс. Многи статьи, где описывается решение етой задачи работают с двумя картинками.тюе для исходного состояния, и при наведении мышки картинка меняется на другую. А как сделать так, чтобы картинка появлялась просто про наведении мышки, а когда мышка не наведена то картинки нету не какой, т.е допустим просто название пункта меню. Заранее благодарен за внимание

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

я то начал;) но пока не могу представить как сделать просто чтобы появлался картинка при наведении курсора, скажем так без первоначальной картинки. мВообщем я как думал, для oneMouseOver задавать картинку, а для oneMouseOut задавать как бы пустоту^_^ но скажем так как ету пустоту сделать понятия не имею

Link to comment
Share on other sites

  • 0

В общем наваял примерно такой код

скажем так кое что по яве я почитал, и делал примерно так

if (document.images) // проверка поддержки браузером массива IMAGE

{

Products0n=new Image(71, 33); // как бы придварительная подгрузка

//картинок

ProductsOn.src="images/products_on.gif";

function on(pie) // функция смены изображения

{

if (document.images)

{

document.images[pie].src=eval(pie + "On.src");

}

}

function off(piс) // тоже смена, но для случая когда мышка не наведена

{

if(document.images) {

document.images [pie] .src= eval(pic'+ "Off.src");

}

}

<A HREF="products.html" onMouseOver="on('products');

window.status='Products'; return true;" onMouseOut="off('products'); window.status"' '; return true;"> // и так вставка в ссылку

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

onMouseOver действие, а для onMouseOut просто чтобы не чего не было, название пункиа меню. Может подобную задачу можно ррешить другим способом?

Link to comment
Share on other sites

  • 0

Вам же сказали, что все это делается на css. Зачем на JS велик изобретать?

В стилях пишем:

a.gluk {background: url("тут ваша картинка");}
a.gluk:hover {background:none;}

А ссылку прописываем так:

<a href="products.html" class="gluk">

Это ж значительно меньше кода, меньше слабых мест, меньше загрузка броузера по сравнению с вашим вариантом.

Не забудте заглянуть в справочник на этом сайте и внимательно почитать про свойство background и псевдокласс hover.

А еще очень рекомендую проштудировать раздел "Шаг за шагом".

Link to comment
Share on other sites

  • 0

пасибо Searcher, так конечно проще, сделал^_^ еще один не большой вопросик, можно ли увеличить размеры фонового изображения background: url(...). Я так понимаю картинка умжимается примерно под размер самой ссылки

Edited by optic18
Link to comment
Share on other sites

  • 0

Картинка никак не масштабируется в фоне, только обрезается, если больше этого элемента. Как нарисовали, так и будет. Она может повторяться. Повторение можно сделать отдельно по вертикали и отдельно по горизонтали, или во все стороны. Я ж попросил: почитайте внимательно про свойство background. Зачем задавать вопросы и ждать пока кто-нибудь ответит, если можно быстро самому все прочесть?

Изучите этот справочник, найдете много интересного!

Link to comment
Share on other sites

  • 0

Про повторение я знаю, кста пасиб за прямые ссылки в сообщениях, но ето все я уже прочитал. Я имел в виду вот такое http://www.yugora.com.ua/ на примере "бегающее" меню, и сам елемент который "бегает" на много больше надписи( о компании например) с помошью хувера етот элемент суть больше самой надписи. В примере я так поняимаю на скриптах делалось, поетому я ис спрашивал, можно ли етот "бегающий"елемент сделать больше

Edited by optic18
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy