当我点击图库中的不同图片时,如何让图片和图片下的文本互换?
我想有4个缩略图图像交换到一个放大的图像时,点击,每显示一个不同的描述下的放大的每一个图像。我已经设法使图像交换,但我不知道从哪里开始与文本部分。
我也希望有标题/链接旁边的每一个图像,可以点击改变图像和文本下的图像。
代码在下面和这个JSfiddle链接中:https://jsfidle.net/hzjk077t/
HTML
<html>
<head>
<title> Locations </title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="image_swap.js" type="text/javascript"></script>
</head>
<body>
<div id="header">
<div id="branding">
<img src="Images/logo.png">
</div><!-- end of "logo" -->
<div id="tagline">
<p> Welcome to yourday.com - We hope you enjoy your visit! </p>
</div><!-- end of "tagline" -->
</div><!-- end of "header" -->
<div id="bodycontent2">
<div id="Thumbnails">
<p>Below, we have a selection of vintage locations across Ireland and some information regarding each.
</br>Please take note of the location of your preference, and <a href="mailto:bookings@yourday.com">contact us</a> to to set up an appointment.
<p>Select an image to enlarge it</p>
<ul class="Thumbnails">
<li><a href="slideshow/img1.jpg" title="location1"><img src="thumbnails/location1.jpg" alt="location1" /></a></li>
<li><a href="slideshow/img2.jpg" title="location2"><img src="thumbnails/location2.jpg" alt="location2" /></a></li>
<li><a href="slideshow/img3.jpg" title="location3"><img src="thumbnails/location3.jpg" alt="location3" /></a></li>
<li><a href="slideshow/img4.jpg" title="location4"><img src="thumbnails/location4.jpg" alt="location4" /></a></li>
</ul>
</div><!--end of thumbnail div -->
<div id="main-image">
<img src="slideshow/img1.jpg" alt="Enlarged Image" id="the_image" />
</div><!--end of main image div-->
</div><!--end of body content" -->
<div id="navigation">
<ul class="topnav" id="TopNav">
<li><a href="home.html">Home</a></li>
<li><a href="locations.html">Locations</a></li>
<li><a href="booking.html">Booking</a></li>
<li><a href="testimonials.html">Testimonials</a></li>
<li><a href="contact.html">Contact Us</a></li>
<li><a href="about.html">About</a></li>
</li>
</ul>
</div> <!--end of "navigation" -->
<div id="footer">
<p>Created by: Calvin Leong</p>
<p>Contact information: <a href="mailto:calvin.leong@CLDesign.com">calvin.leong@CLDesign.com</a></p>
</div>
</body>
</html>
CSS
body {
font-family: Verdana, Helvetic, Arial, sans-serif;
font-size: 16px;
background-color: #C8A2C8;
line-height: 125%
}
/*Map - where we are*/
h1{
position:absolute;
top: 450px;
}
#map{
position:absolute;
top:500px;
}
h2{
font-family: "Times New Roman", Times, serif;
font-size: 32px;
font-weight: italic;
}
#navigation a{
text-decoration: none;
}
.highlight {
color: #339999;
font-family: Georgia, Times, serif;
font-style:italic:
}
#navigation {
position: absolute;
left: 0;
top: 150px;
width: 100%
}
#bodycontent {
position: absolute;
top: 620px;
width: 100%
}
#tagline {
position: absolute;
top: 200px;
}
#bodycontent2 {
position: absolute;
top: 250px;
width: 100%
}
/* Navigation bar */
ul.topnav {
list-style-type: none;
margin: 0;
padding: 0;
overflow: hidden;
background-color: #FFB6C1;
}
ul.topnav li {float: left;}
ul.topnav li a {
display: inline-block;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
transition: 0.3s;
font-size: 17px;
}
/* Change background color of links on hover */
ul.topnav li a:hover {background-color: #D3D3D3;}
/*Keeps footer at the bottom, no matter what size window*/
html{
position:relative;
min-height: 100%;
}
#footer{
position: absolute;
bottom: 0;
top: 1000px;
width: 100%;
height: 2px;
margin: 0 auto;
border-top: 2px solid #f2f2f2;
border-width: 0 0 100% 0;
border-color: gray;
}
/*Gallery settings*/
.galleryphoto {
font-size: 65%;
font-weight: bold;
margin-top: 0;
width: 430px;
line-height: 1.4em;
padding-top: 20px;
padding-bottom: 20px;
border-bottom: 1px solid navy;
margin-bottom: 10px;
}
#main-image {
margin: 0.2em 0 0 22em;
}
#thumbnails p {
font-size: 80%;
}
#thumbnails ul {
list-style-type: none;
}
#thumbnails li {
display: block;
padding: 5% 0 0 0;
}
#thumbnails {
width: 16em;
border-right: maroon;
border-width: 0 3px 0 3px;
border-style: dotted solid double;
padding: 0 1.5%;
float: left;
height: 31.5em;
}
#thumbnails a img {
border-style: none;
border-width: 0;
border-color: transparent;
}
JS
function swap_image() {
var my_image = this.href;
var the_image = document.getElementById("the_image");
the_image.src = my_image;
return false;
}
function attach_handlers() {
var div = document.getElementById("Thumbnails");
var links = div.getElementsByTagName("a");
for (var i=0; i < links.length; ++i)
links[i].onclick = swap_image;
}
window.onload = attach_handlers;
这可以通过jQuery轻松实现。
JsFiddle
null
// When you click the image
$('#image1').on('click', function () {
// Select a div matching the CSS selector '#image1text'
// Then set the HTML to 'image text here'
$('#image1text').html('image text here');
})
<script type="text/javascript" src="//code.jquery.com/jquery-3.1.1.js"></script>
<img id="image1" src="http://www.jqueryscript.net/images/Simplest-Responsive-jQuery-Image-Lightbox-Plugin-simple-lightbox.jpg">
<div id="image1text"></div>
问题内容: 我有一个问题,我将一个图像设置为当鼠标悬停时显示另一个图像,但是第一个图像仍然出现,新的图像不会更改高度和宽度,而会与另一个图像重叠。我对HTML / CSS还是很陌生,所以我可能错过了一些简单的东西。这是代码: 问题答案: 一种解决方案是将第一个图像也用作背景图像,如下所示: 如果您的悬停图片大小不同,则必须将它们设置为:
所以我从昨天开始就一直在使用Javascript(Vue)和html(所以请原谅我的困惑),我不知道如何在更改链接的同时更改“home”链接描述旁边的图像的颜色。 我试过使用CSS类,它工作,但只改变图像颜色时,你实际上悬停在图像上,而不是整个链接线。除了CSS之外,我也尝试过通过“onmouseover”将图像改变为彩色版本,但不知怎么的,这将图标立即改变为彩色版本(?)。我猜问题是我通过一个:
问题内容: 我有一个图像,单击该图像时,我想在其下方显示另一个图像。我正在寻找一个简单的CSS only解决方案。 那可能吗? 问题答案: 您可以使用具有不同样式的标签:
我试图改变我的设备的图像资源在回收视图中的特定位置,每当我点击它(点击图像,而不是项目)。我试图把setOnClickListener()放在onBindViewHolder()方法中,但只有最后一项受到影响。这是我的回收器视图 这里是我的适配器: 我的观众: 我的数据类: 当我点击设备的图像时,如果它处于打开状态(flag=true),则更改为“fan_off”。如果关闭,请切换到“fan_on
问题内容: 我创建了一个扩展JDialog的类,其中有一些复选框和3个按钮:接受,取消和全选。 当用户单击全选时,应选中每个复选框,如果再次单击,则应取消选中每个复选框。效果很好,但我还希望按钮的文本在“全选”和“全选”之间切换。我在这里遇到了麻烦,因此当用户单击按钮并将文本更改为“取消全选”时,该按钮消失了。 我在这里将类简化为最简单的形式: 我看不出有什么问题。有什么帮助吗? 问题答案: 该按
问题内容: 我试图在单击另一个元素时更改一个元素的CSS。我进行了很多搜索,但没有一个能完美地工作。目前,我正在使用下面的代码,但是它不起作用。谁能告诉我我错过了什么? 问题答案: 首先,使用属性添加事件处理程序是实现所需功能的一种非常过时的方法。当您使用jQuery标记问题时,这是一个jQuery实现: 一种更有效的方法是将这些样式放入一个类中,然后将该类添加到onclick上,如下所示: