[英]How to appear an Image in specific location through hover on link? (HTML/CSS3)
如何通過懸停鏈接使圖像出現在特定位置(例如自定義圖像框)。 這是我的代碼,但它沒有按我想要的方式工作。
<!DOCTYPE html>
<html>
<style>
a {
display: block;
padding-bottom: 20px;
}
a #link1:hover{
content: url("winter.jpg");
}
a #link2:hover{
content: url("sunset.jpg");
}
a #link3:hover{
content: url("Blue hills.jpg");
}
</style>
<body>
<a href=""><div id="link1">Link1</div></a>
<a href=""><div id="link2">Link2</div></a>
<a href=""><div id="link3">Link3</div></a>
</body>
</html>
這是一個易於實現我的想法的插圖:
首先嘗試谷歌這個。 應該很容易找到。 但它應該是這樣的。
<img class="1" src="winter.jpg">
<img class="2" src="sunset.jpg">
<img class="3" src="Blue Hills.jpg">
.1 .2 .3{
-code the position here-
display: none;
}
$(document).ready(function(){
$("#link1").mouseenter(function(){
$("1").show();
});
$("#link2").mouseenter(function(){
$("2").show();
});
$("#link3").mouseenter(function(){
$("3").show();
});
});
好的,有幾種方法可以解決這個問題,但第一個想到的是創建一個圖像路徑數組。 然后(有點啰嗦,但是)如果您只想立即開始工作,您可以嘗試在每個鏈接懸停狀態上放置一個函數,以更改您顯示的自定義 div 中當前圖像的圖像路徑。 像這樣的東西:
<style>
.customBox{
height: 300px;
width: 300px;
}
.customBox img{
max-height: 300px;
max-width: 300px;
}
</style>
<a href=""><div id="link1">Link1</div></a>
<a href=""><div id="link2">Link2</div></a>
<a href=""><div id="link3">Link3</div></a>
<div class="customBox"><img src=""></div>
<script>
var images = ['https://newevolutiondesigns.com/images/freebies/winter-wallpaper-12.jpg','https://upload.wikimedia.org/wikipedia/commons/a/a4/Anatomy_of_a_Sunset-2.jpg','http://www.hotel-r.net/im/hotel/asia/in/blue-hills-0.jpg'];
$('#link1').hover(function(){
$('.customBox img').attr('src', images[0]);
});
$('#link2').hover(function(){
$('.customBox img').attr('src', images[1]);
})
$('#link3').hover(function(){
$('.customBox img').attr('src', images[2]);
})
</script>
http://codepen.io/tomdreamevil/pen/XjPoVp?editors=1111
你可以用 JavaScript 做到這一點......
window.addEventListener("load", hoverChangeImageEffect); function hoverChangeImageEffect() { var imageHolder = document.getElementById("imageHolder"); var links = document.getElementsByClassName("setImage"); for(var i=0; i<links.length; i++) hoverChangeImage(links[i]); function hoverChangeImage(link) { link.onmouseover = function linkHover() { imageHolder.src = link.getAttribute("image"); } } }
img.imageHolder { width: 30%; vertical-align: middle; border: 1px solid black; margin-left: 2em; } ul.links { float: left; display: inline-block; }
<p>Hover the mouse over the links:</p> <ul class="links"> <li><a href="" class="setImage" image="http://cdn.sstatic.net/clc/img/jobs/ico-dismiss.svg">Anchor text1</a></li> <li><a href="" class="setImage" image="http://cdn.sstatic.net/clc/img/jobs/ico-location-gray.svg">Anchor text2</a></li> <li><a href="" class="setImage" image="http://cdn.sstatic.net/clc/img/jobs/ico-visa-pink.svg">Anchor text3</a></li> </ul> <img id="imageHolder" class="imageHolder" src="" height="100">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.