悬停在链接上,并更改Div -jquery的背景图像



当悬停在链接上时,我很难做出DIV的背景图像更改。代码对我来说很好看,所以我丢失了这是代码:

javaScript:

   $('#hover-01').on('mouseover', function(){
   $('#hover-change').css('background-image', 'url("images/1.jpg")');
});
$('#hover-01').on('mouseout', function(){, function(){
  $('#hover-change').css('background-image', 'url("images/5.jpg")');
});

html:

 <div class="open-project-link">
    <a id="hover-01" class="open-project"  
   href="project3.html">Bowman Clay</a>
    </div>

<div class="responsive-section-image" id="hover-change" 
 style="background-image: url(images/5.jpg);">
  <div class="overlay"></div>
                         </div>

jQuery版本:v2.1.1

任何想法或建议?

编辑:该代码确实有效,但是这是第三方插件的问题(我假设),所以我使用普通的JavaScript修复了它,而不是jQuery

' mousein'不是您可以使用的事件处理程序。您应该使用mouseovermouseout,或mouseentermouseleave。请参阅此处的JQuery Mouse事件。

您还需要给您的容器宽度/高度,因为它没有内容,因此可以容纳图像。另外,您在鼠标函数中有两个function()声明,我将其修复在以下代码示例中:

  $('#hover-01').on('mouseenter', function(){
   $('#hover-change').css('background-image', 'url(http://www.w3schools.com/css/trolltunga.jpg)');
});
$('#hover-01').on('mouseleave', function(){
  $('#hover-change').css('background-image', 'url(https://www.nasa.gov/sites/default/files/styles/image_card_4x3_ratio/public/thumbnails/image/leisa_christmas_false_color.png?itok=Jxf0IlS4)');
});
#hover-change {
  width:1000px;
  height:300px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="open-project-link">
    <a id="hover-01" class="open-project"  
   href="project3.html">Bowman Clay</a>
    </div>
<div class="responsive-section-image" id="hover-change">
  <div class="overlay"></div>
</div>

使用此小提琴:

JS:

$('#hover-01').on('mouseenter', function(){
   $('#hover-change').css('background-image', 'url("images/1.jpg")');
});
$('#hover-01').on('mouseout', function(){
  $('#hover-change').css('background-image', 'url("images/5.jpg")');
});

您可以使用jQuery的toggleClass()方法来解决您的问题:

$(document).on('ready', function() {
  
  $('#link').on('mouseover', function() {
    //alert('sadasd');
    $('body').toggleClass('colored');
  });
  
  $('#link').on('mouseleave', function() {
    //alert('sadasd');
    $('body').toggleClass('colored');
  });
  
});
body.colored {
  background-color: #ccc;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <a id="link" href="#">This is a Link</a>
</div>

希望这会有所帮助!

hover-01悬停在以下内容时,您可以使用CSS :hover ~更改hover-change DIV:

#divToHover:hover ~ #divToChange {
  /*your code here*/
}

#change {
  height: 300px;
  width: 300px;
  background-image: url("//www.google.com/favicon.ico");
}
#hover {
  height: 40px;
  width: 40px;
  background-color: green;
}
#hover:hover ~ #change {
  background-image: url(/favicon.ico);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div id="hover">hover</div>
<div id="change"></div>

尝试以下代码。确保为要更改背景更改的DIV设置高度和宽度。

问题与您使用的事件名称有关。请参阅此处的鼠标事件列表

$('#hover-01').on('mouseover', function() {
     $('#hover-change').css('background-image', 'url("https://placehold.it/350x150/ffff00")');
   }).on('mouseout', function() {
     $('#hover-change').css('background-image', 'url("https://placehold.it/350x150/ff0000")');
   });
.responsive-section-image {
  height: 150px;
  width: 350px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="open-project-link">
  <a id="hover-01" class="open-project" href="project3.html">Bowman Clay</a>
</div>
<div class="responsive-section-image" id="hover-change" style="background-image: url('https://placehold.it/350x150/ff0000')">
  <div class="overlay"></div>
</div>

相关内容

  • 没有找到相关文章

最新更新