Text und Bild markieren würde Ich mag den gleichen Effekt auf der folgende Website erreichen:Javascript Newbie: Wie in verschiedenen divs mit der Maus darüber
http://www.kpf.com/projectlist.asp?T=4
mit der Maus darüber ein Bild, die entsprechenden Text-Highlights und umgekehrt.
Ich habe eine Javascript-Lösung in einem Forum gefunden. Weil ich nicht 2 Hyperlinks in meinem Beitrag enthalten kann, habe ich Kopie kleistert die Lösung unter:
div Code
<div style="width:400;height:500;" onmouseover="hightlight()" onmouseout="removehightlight()"><span id="textspan" >This is a test div to show mouseover</span><img id="imgsrc" src="/images/test.gif" /></div>
Javascript
<script language="javascript">
function hightlight()
{
document.getElementById("textspan").style.color = "blue";
document.getElementById("imgsrc").style.border = "1px solid blue";
//document.getElementById("textspan").setStyle("color","blue");
//document.getElementById("imgsrc").setStyle("border","1px solid blue");
}
function removehightlight()
{
document.getElementById("textspan").style.color = "black";
document.getElementById("imgsrc").style.border = "0px solid blue";
}
</script>
jedoch diese Lösung ist für ein Bild und Text in der gleichen div. Mein Bild und Text sind in zwei separaten divs wie so:
Javascript
function hightlight()
{
document.getElementById("textspan").style.text = "underline";
document.getElementById("imgsrc").style.border = "5px solid #005596";
}
function removehightlight()
{
document.getElementById("textspan").style.text = "none";
document.getElementById("imgsrc").style.border = "5px solid white";
}
Text
<div id="left-menu" >
<div align="right">
<p><!-- #BeginLibraryItem "/Library/left-projects-category.lbi" --> <span class="left-title">Category</span><!-- #EndLibraryItem --><br />
<span class="left-sub">Residential</span><br />
<a href="#" class="btn-list"><span id="textspan" onmouseover="hightlight()" onmouseout="removehightlight()">11 Gurney Drive</span><br /></a>
<a href="#" class="btn-list"><span id="textspan" onmouseover="hightlight()" onmouseout="removehightlight()">78 LAD</span><br /></a>
</p>
</div>
</div>
Bild
<div style="float:left; margin:90px 0 0 305px; padding:0 0 100px 0; height:auto;">
<img src="../../images/completed-projects/thumbnails/11-gurney-drive.jpg" width="215" height="170" id="imgsrc" style="border:5px solid white" onmouseover="hightlight()" onmouseout="removehightlight()"/>
<img src="../../images/completed-projects/thumbnails/78-lad.jpg" width="215" height="171" id="imgsrc" style="border:5px solid white" onmouseover="hightlight()" onmouseout="removehightlight()"/>
/div>
PROBLEME
Nennen wir 11 Gurney Drive - Text1 und 11-Bahre-Drive.jpg - Image1
78 LAD - Text2 und 78-lad.jpeg - Bild2.
Meine Probleme:
Auf Text1 Mouseover, hebt es sowohl Text1 und Image1 - Gute.
Bei Text2 mouseover hebt es Text2 und Image1 hervor - es sollte Text2 und Image2 hervorheben.
Bei Image1 Mouseover wird nur Image1 hervorgehoben - es sollte Text1 und Image1 hervorgehoben werden.
In Image2 Mouseover wird nur Image1 hervorgehoben - es sollte Text2 und Image2 hervorgehoben werden.
Ich habe sehr wenig Erfahrung in der Anpassung von Javascript; Ich habe versucht goGelElementbyId auszuprobieren, aber alles könnte auch auf Griechisch sein. Ich hoffe wirklich, dass jemand hier dringend mit mir aushelfen könnte.
Vielen Dank.
// EDIT
Ich vergaß zu erwähnen, dass ich versucht habe, eine zweite eindeutige Element-ID hinzugefügt genannt textspan2 und imgsrc2 aber das scheint nicht zu funktionieren.Was ich tat:
Javascript
function hightlight()
{
document.getElementById("textspan").style.text = "underline";
document.getElementById("imgsrc").style.border = "5px solid #005596";
document.getElementById("textspan2").style.text = "underline";
document.getElementById("imgsrc2").style.border = "5px solid #005596";
}
function removehightlight()
{
document.getElementById("textspan").style.text = "none";
document.getElementById("imgsrc").style.border = "5px solid white";
document.getElementById("textspan2").style.text = "none";
document.getElementById("imgsrc2").style.border = "5px solid white";
}
Text
<div id="left-menu" >
<div align="right">
<p><!-- #BeginLibraryItem "/Library/left-projects-category.lbi" --> <span class="left-title">Category</span><!-- #EndLibraryItem --><br />
<span class="left-sub">Residential</span><br />
<a href="#" class="btn-list"><span id="textspan" onmouseover="hightlight()" onmouseout="removehightlight()">11 Gurney Drive</span><br /></a>
<a href="#" class="btn-list"><span id="textspan2" onmouseover="hightlight()" onmouseout="removehightlight()">78 LAD</span><br /></a>
</p>
</div>
</div>
Bild
<div style="float:left; margin:90px 0 0 305px; padding:0 0 100px 0; height:auto;">
<img src="../../images/completed-projects/thumbnails/11-gurney-drive.jpg" width="215" height="170" id="imgsrc" style="border:5px solid white" onmouseover="hightlight()" onmouseout="removehightlight()"/>
<img src="../../images/completed-projects/thumbnails/78-lad.jpg" width="215" height="171" id="imgsrc2" style="border:5px solid white" onmouseover="hightlight()" onmouseout="removehightlight()"/>
/div>
ID sollte eindeutig pro Seite sein, also wählt getElementById() den ersten, den es findet. Versuchen Sie, die ID für die zweite Seite zu ändern. – Mironor
* das zweite Bild. – Mironor