DataListのマークアップを次のように変更します
<asp:DataList ID="dalphoto" runat="server" BorderStyle="Solid" BorderWidth="0px" RepeatColumns="6" RepeatDirection="Horizontal" DataKeyField="HotelPhoto">
<ItemTemplate>
<div class="thumbnail-item">
<asp:Image ID="Image" width="80px" height="80px" runat="server" CssClass="thumbnail" ImageUrl='<%# "~/Photos/HotelPhotos/" + Eval("Photourl") %>'/>
<div class="tooltip"><img src="<%# "Photos/HotelPhotos/" + Eval("Photourl") %>" alt="" width="330" height="185" /><span class="overlay"></span>
</div>
</div>
</ItemTemplate>
</asp:DataList>
フィドルからcssとjavascriptを取得し、変更せずに使用します。
CSS
.thumbnail-item {
/* position relative so that we can use position absolute for the tooltip */
position: relative;
float: left;
margin: 0px 5px;
}
.thumbnail-item a {
display: block;
}
.thumbnail-item img.thumbnail {
}
.tooltip {
/* by default, hide it */
display: none;
/* allow us to move the tooltip */
position: absolute;
/* align the image properly */
}
.tooltip span.overlay {
/* the png image, need ie6 hack though */
/* put this overlay on the top of the tooltip image */
position: absolute;
top: 0px;
left: 0px;
display: block;
}
JavaScript
// Load this script once the document is ready
$(document).ready(function () {
// Get all the thumbnail
$('div.thumbnail-item').mouseenter(function(e) {
// Calculate the position of the image tooltip
x = e.pageX - $(this).offset().left;
y = e.pageY - $(this).offset().top;
// Set the z-index of the current item,
// make sure it's greater than the rest of thumbnail items
// Set the position and display the image tooltip
$(this).css('z-index','15')
.children("div.tooltip")
.css({'top': y + 10,'left': x + 20,'display':'block'});
}).mousemove(function(e) {
// Calculate the position of the image tooltip
x = e.pageX - $(this).offset().left;
y = e.pageY - $(this).offset().top;
// This line causes the tooltip will follow the mouse pointer
$(this).children("div.tooltip").css({'top': y + 10,'left': x + 20});
}).mouseleave(function() {
// Reset the z-index and hide the image tooltip
$(this).css('z-index','1')
.children("div.tooltip")
.animate({"opacity": "hide"}, "fast");
});
});
</ p>