Автор
|
Тема: трабла с заменой рисунков (Прочитано 9863 раз(а))
|
|
Михаил
Гость
|
![](./Images/General/xx.gif) |
трабла с заменой рисунков
« Время отправления: Воскресенье11 November 2004г, 23:48:23 »
|
|
Есть меню-навигация по сайту, необходимо при наведении мыши на картинку менять ее на другую. Проблема в следующем: меню состоит из параллелограмчиков, которые примыкают друг к другу, поэтому нельзя просто их менять, т.к. они обрезаны таким образом, что один содержит кусок от другого и в нем не достает такого-же куска с начала, т.е. если поменять картинку, то тот кусок которого не достает не поменяется. Есть конечно такая фича как карта рисунка - map, и она очень удобна в данной проблеме, только возникает вопрос возможно ли менять отдельную часть изображения карты, скажем сделать одну картинку для меню, куда запихнуть все параллелограмчики, сделать другую картинку где будут те же самые параллелограмчики но с поменяным цветом и создать карту, а потом каким-нибудь образом при наведении на один прямоугольничек менять только его а не всю картинку? Я думаю врядли такое возможно, тогда может кто-нибудь значет как еще решить данную проблему... Буду очень благодарен.
| Этот пользователь был отключён и/или удалён
Авторизован |
|
|
|
Duke
Модератор форума
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #1 Время отправления: Воскресенье12 November 2004г, 20:15:06 »
|
|
Откровенно говоря, я не то чтобы очень хорошо понял, почему нельзя разрезать картинку и менять отдельно каждый параллелограмм... Подменять отдельно часть графической карты ссылок нельзя, так как карта - ни что иное, как обычный рисунок, размеченный программно. Попробуй всё же порезать и написать скриптик на JScript типа следующего: <script language="JavaScript" type="text/javascript"> <!-- // загружка ВСЕХ картинок в память var img1_o = new Image(); img1='Images/parall1_off.gif'; var img2 = new Image(); img1='Images/parall1_on.gif'; // и т д
function over() { var a=window.event.srcElement; if(a.tagName=="IMG") // если картинка - меняем рисунок на ***on.gif a.src=a.src.substring(0, a.src.length-6)+"n.gif"+ a.src.substring(a.src.length-4,a.src.length); }
function out() { // аналогично }
document.onMouseOver= over; document.onMouseOut = out; //--> </script>
Остаётся только добавить в скрипт дополнительные условия, чтобы не на всякий рисунок "кидался" браузер менять. Надеюсь, чем-нибудь да помог))
|
Авторизован |
|
|
|
Михаил
Гость
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #2 Время отправления: Воскресенье13 November 2004г, 12:12:37 »
|
|
Спасибо за совет, на самом деля я так и делаю, только проблема как раз и возникает здесь: скажем наводим мы мышкой на один параллелограм, а маленький треугольничек, отрезанный от него принадлежит стоящему рядом с ним параллелограмму, поэтому если сделать скажем, чтоб кнопочки эти меняли цвет, то как раз этот треугольник не поменяется, т.к. принадлежит другой картинке. Можно кончено, сделать дополнительные картинки, в которых изменить цвет только этого маленького треугольничка и при наведении мыши менять сразу 2 картинки, но как-то это не очень серьезно. Я наверное попробую запихнуть в слои картинки, которые надо выводить при наведении и разрежу их уже по другому, так чтобы был параллелограмм оставался целый и при наведении просто будет выводиться этот слой. Если вы сейчас поняли, что я имею ввиду, то может знаете какой-нибудь более хороший способ..
| Этот пользователь был отключён и/или удалён
Авторизован |
|
|
|
Duke
Модератор форума
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #3 Время отправления: Воскресенье13 November 2004г, 18:48:03 »
|
|
Спасибо за совет, на самом деля я так и делаю, только проблема как раз и возникает здесь: скажем наводим мы мышкой на один параллелограм, а маленький треугольничек, отрезанный от него принадлежит стоящему рядом с ним параллелограмму, поэтому если сделать скажем, чтоб кнопочки эти меняли цвет, то как раз этот треугольник не поменяется, т.к. принадлежит другой картинке. Можно кончено, сделать дополнительные картинки, в которых изменить цвет только этого маленького треугольничка и при наведении мыши менять сразу 2 картинки, но как-то это не очень серьезно. Я наверное попробую запихнуть в слои картинки, которые надо выводить при наведении и разрежу их уже по другому, так чтобы был параллелограмм оставался целый и при наведении просто будет выводиться этот слой. Если вы сейчас поняли, что я имею ввиду, то может знаете какой-нибудь более хороший способ..
|
| Попробуй всё то же, но рисунки переделай, разрежь по-новому, так, чтобы тот треугольник остался на "родине", просто фон вокруг него сделай прозрачным. Transparent сделать можно любым редактором для GIF. Потом сделай так, чтобы цельный параллелограмм твой "наезжал" на соседа справо с помощью относительного позиционирования CSS типа:
position: relative; right: -10px;
Причём каждый последующий параллелограмм должен иметь Z-INDEX ниже, чем у своего предшественника, например, у 1-го - z-index: 100, у 2-го -- 99, у 3-го -- 98 и т.д. Таким макаром, каждый треугольничек будет виден (так как он сверху), а всё, что находится за пределами треугольника будет "просвечивать" фон -- следующий параллелепипед!! За счёт цельности будешь менять за одну операцию onMouseOver лишь один элемент...
|
Авторизован |
|
|
|
RAMMSTEIN
Администратор
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #10 Время отправления: Воскресенье18 November 2004г, 12:47:12 »
|
|
Если интересно могу написать вам на email в общих словах идею.
|
| было бы интересно почитать ![](http://forum.insk.ru/Images/General/smiley.gif) пиши на rammstein<at>ngs.ru, но лучше было-бы чтоб все смогли заценить!
|
Авторизован |
![](http://forum.insk.ru/avatar/no_spam.gif) [Toyota Carina AT211, 7A-FE, 1997г, зелёный хамелеон] - продана [Toyota Camry Touring ACV30, 2AZ-FE, 2003г, белый перламутр] - в наличии
![](https://mynickname.com/forumt0/RAMMSTEIN.gif)
|
|
|
Михаил
Гость
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #11 Время отправления: Воскресенье18 November 2004г, 15:29:16 »
|
|
Ну ладно, если это может заинтересовать кого-нибудь еще, напишу здесь. Вообще, идея пока еще довольно пространственная. Я еще с одним человеком решили создать нечто большое и разностороннее... Что-то вроде информационно-развлекательного портала. Естественно в двоем с такой вещью справляться очень сложно и долго, поэтому неплохо было бы, если бы нам кто-то помогал. Портал этот может содержать все что угодно (естественно в пределах тех ресурсов, которыми мы пока располагаем - 500Мб места, неограниченный трафик, неограниченное число субдоменов и email адресов). На первое время есть несколько идей, которые мы по-тихоньку воплощаем в жизнь. На сайте будет авторизация и в зависимости от каких-либо параметров - доступ к различным ресурсам сайта. Вот вообщем-то пространственное описание... Мы планируем сделать хороший чат, форум и информационные сервисы, в которых люди смогут размещать информацию (на подобие того, как они это делают на бесплатных хостингах типа народ.ру), только на уже готовой базе скриптов и т.д. но в отличае от сайтов бесплатных хостингов допускать не всех желающих, а только тех, кто предоставит действительно качественную информацию, такие люди будут иметь возможность обащаться в чате, в форуме и т.д. ну и иметь свою собственную страничку, с соблюдением всех авторских прав на информацию представленную ими. Потом можно разрабатывать какие-нибудь сервисы по желанию членов сайта ну и что-то на подобие. Вообщем основная идея всего этого - создать качественные и удобные сервисы и хорошую исчерпывающую информацию, объединив различные области интересов и сфер деятельности.
| Этот пользователь был отключён и/или удалён
Авторизован |
|
|
|
raindrop
something alive Профи
|
![](./Images/General/xx.gif) |
Re:трабла с заменой рисунков
« Ответ #12 Время отправления: Воскресенье18 November 2004г, 21:58:15 »
|
|
Ну ладно, если это может заинтересовать кого-нибудь еще, напишу здесь. Вообще, идея пока еще довольно пространственная. Я еще с одним человеком решили создать нечто большое и разностороннее... Что-то вроде информационно-развлекательного портала. Естественно в двоем с такой вещью справляться очень сложно и долго, поэтому неплохо было бы, если бы нам кто-то помогал. Портал этот может содержать все что угодно (естественно в пределах тех ресурсов, которыми мы пока располагаем - 500Мб места, неограниченный трафик, неограниченное число субдоменов и email адресов). На первое время есть несколько идей, которые мы по-тихоньку воплощаем в жизнь. На сайте будет авторизация и в зависимости от каких-либо параметров - доступ к различным ресурсам сайта. Вот вообщем-то пространственное описание... Мы планируем сделать хороший чат, форум и информационные сервисы, в которых люди смогут размещать информацию (на подобие того, как они это делают на бесплатных хостингах типа народ.ру), только на уже готовой базе скриптов и т.д. но в отличае от сайтов бесплатных хостингов допускать не всех желающих, а только тех, кто предоставит действительно качественную информацию, такие люди будут иметь возможность обащаться в чате, в форуме и т.д. ну и иметь свою собственную страничку, с соблюдением всех авторских прав на информацию представленную ими. Потом можно разрабатывать какие-нибудь сервисы по желанию членов сайта ну и что-то на подобие. Вообщем основная идея всего этого - создать качественные и удобные сервисы и хорошую исчерпывающую информацию, объединив различные области интересов и сфер деятельности.
|
|
мертвая затея!
|
Авторизован |
...possible a last drop!
|
|
|
|
|
|