悬停JS / PHP时更改img src属性

时间:2018-09-19 01:47:54

标签: javascript php html css

我在

上注册了用户列表

表: ch_users

我的PHP代码旨在选择所有用户并提取。

ch_user 包含(用户ID,名称,报价,位置,缩略图,悬停图片)

我想要实现的是每当用户将特定图像悬停时。将会出现另一张图像。

这是我当前的密码。

 <div id="gallery-container1">
 <div class="row-content1">
 <?php
            try{
            $connect = new PDO("mysql:host=$host;dbname=$database", $username, $password);
            $connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

            $query = "SELECT * FROM ch_users";
            $data = $connect->query($query);
            foreach($data as $instructor_row){
            ?>


            <div class="img-container1">
              <div class="img-content1">
                  <a href="#">
                    <img src="img/instructors/<?php echo $instructor_row['thumbnail'];?>" />
                    </a>
                </div>
            </div>


            <?php
                    }//end of foreach
                }//end of try
                catch(PDOException $error)
                {
                    $error->getMessage();
                }
                ?>

  <div class="clearfix"></div>

  </div>


  </div>

CSS:

#gallery-container1{

margin-top:15vh;
text-align:center;
margin-bottom:10vh;
}
.img-container1 {
width:16.5%;
display:inline-block;
margin-bottom:30px;
}
.img-content1 {
padding:0;
height:auto;
overflow:hidden;
box-shadow:0 .8px .8px #ccc;
width:80%;
 }

.img-content1 img {
 width:100%;
 height:auto;
 }

 .clearfix {
 clear:both;
  }

  @media only screen and (max-width: 560px) {
 .img-container1 {
 width:98%;
 margin-left:10%;
 } 
 }

 @media only screen and (min-width: 600px)and (max-width: 900px) {
 .img-container1 {
  width:38%;
  padding:1%;
 } 
  }

我一直在关注一些话题。通常是为了更改img的属性SRC。 JS是合适的方法。因此,我想到了这段代码。但是我不知道该怎么实现。

<script>
 function hover(element) {
 element.setAttribute('src', 'img/instructor/5h.jpg');
 }

  function unhover(element) {
 element.setAttribute('src', 'img/instructor/5.jpg');
 }
</script>

 <div class="img-container1">
  <div class="img-content1">
    <a href="#">
      <img src="img/instructor/<?php echo $instructors_row['thumbnail'];?>" onmouseover="hover(this);" onmouseout="unhover(this);" />
     </a>
  </div>
</div>

$ instructor_row [“ hover_image”]; 是一个包含图像的字段,每当用户将获取的图像悬停时,该图像就会出现。

1 个答案:

答案 0 :(得分:3)

您可以在不使用Java脚本的情况下实现此目的。尝试以下操作:

PHP:

<div class="img-container1">
  <div class="img-content1">
    <a href="#">
      <img src="img/instructors/<?php echo $instructor_row['thumbnail'];?>" class="thumbnail">
      <img src="img/instructors/<?php echo $instructor_row['hover_image'];?>" class="hover-image">
    </a>
  </div>
</div>

CSS:

.img-content1 > img.hover-image,
.img-content1:hover > img.thumbnail {
  display: none;
}
.img-content1:hover > img.hover-image {
  display: block;
}
  1. 渲染两个图像并隐藏其中之一。
  2. 在悬停父容器时切换显示它们。