Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

Div'ы меняющие изображения в шапке

#1 govegan

govegan
  • Пользователь
  • 15 сообщений
  • Репутация: 1
0

Отправлено 15 Март 2013 - 16:16

Здравствуйте уважаемые вебмастера!
Нуждаюсь в вашем совете.

Необходимо реализовать такую вещь: при наведении на один из трёх div’ов в блоке контента, нужно в шапке отображать три разные картинки (каждая для соответствующего div’a)

Подскажите, пожалуйста, какими методами и как это можно реализовать?

 

 

  • 0

#2 Kirinka

Kirinka
  • Пользователь
  • 57 сообщений
  • Репутация: 12

Отправлено 15 Март 2013 - 18:27

Если, в шапке картинки использовать как фон, то можно так:
<!Doctype html>
<html>
<head>
<script type="text/javascript">
function replaceImg(address)
{
  document.getElementById("header").style.backgroundImage="url("+ address + ")";
}
</script>
</head>
<body>
<div id="header" style="background-image:url(img.jpg); height:100px; width:100%;">картинка</div>
<div onmouseover="replaceImg('img1.jpg')">Текст1</div>
<div onmouseover="replaceImg('img2.jpg')">Текст2</div>
<div onmouseover="replaceImg('img3.jpg')">Текст3</div>
</body>
</html>


А если просто картинка, то так:

<!Doctype html>
<html>
<head>
<script type="text/javascript">
function replaceImg(address)
{
  document.getElementById("header").innerHTML="<img src="+ address + " alt=''>";
}
</script>
</head>
<body>
<div id="header"><img src="img.jpg" width="200" height ="300" alt=""></div>
<div onmouseover="replaceImg('img1.jpg')">Текст1</div>
<div onmouseover="replaceImg('img2.jpg')">Текст2</div>
<div onmouseover="replaceImg('img3.jpg')">Текст3</div>
</body>
</html>

  • 1

#3 govegan

govegan
    Topic Starter
  • Пользователь
  • 15 сообщений
  • Репутация: 1

Отправлено 17 Март 2013 - 13:53

Спасибо огромное!

Но что то не получается...

Вставил вызов скрипта в макет (скопировал из Вашего сообшения):

<script type="text/javascript">
function replaceImg(address)
{
  document.getElementById("smena").style.backgroundImage="url("+ address + ")";
}
</script>

В код страницы вставил
<div id="smena" style="background-image:url(img.jpg); height:100px; width:100%;"></div>
<div id="block">
<div id="left" onmouseover="replaceImg('img1.jpg')"></div>
</div><!-- #block-->

Но скрипт не работает. Делаю на http://milfort.ru При наведении на блок с красным бордюром, сверху должно меняться изображение. Но оно не хочет.

Подскажите, в чем может быть проблема?
  • 0

#4 Kirinka

Kirinka
  • Пользователь
  • 57 сообщений
  • Репутация: 12

Отправлено 17 Март 2013 - 15:43

У вас ошибка в скрипте перед document.getElementById("smena").style.backgroundImage="url("+ address + ")"; стоят лишние символы.
В вашем случае лучше использовать image map, то есть карту картинки. Можете воспользоваться генератором карт htmlmapgenerator.ru либо любым другим. На карте выделите активные области это будет выглядеть примерно так:
<img alt="block.jpg" src="http://milfort.ru/images/block.jpg" usemap="#myMap" width="1000" height="588" />
	<map name="myMap" id="myMap">
		<area shape="poly" coords="427,265,551,265,552,348,540,398,423,391" onmouseover="replaceImg('img1.jpg')" class="{fill:true,fillColor:'00ff00',fillOpacity:0.4,stroke:true,strokeColor:'330066',strokeOpacity:0.8,strokeWidth:1}" />
		<area shape="poly" coords="12,193,245,168,294,208,240,241,127,269,23,285" onmouseover="replaceImg('img2.jpg')" class="{fill:true,fillColor:'00ff00',fillOpacity:0.4,stroke:true,strokeColor:'330066',strokeOpacity:0.8,strokeWidth:1}" />
	</map>
То есть вместо картинки-фона будет картинка с активными областями. На этом сервисе можно добавить подсветку выделенных областей(если их аккуратно выделить B) )
  • 0


Оформление форума – IPBSkins.ru