如何在鼠标悬停时显示横幅div?

时间:2014-04-23 11:07:38

标签: javascript jquery html banner

Demo

正如您在演示中所看到的,我在点击链接时显示横幅。除了显示和隐藏我的横幅div之外,我还希望在鼠标悬停时显示我的横幅广告(例如下拉列表),以便在用户点击链接之前向其显示内容。

HTML:

<a href="" class="show_hide">One</a>

<div class="slidingDiv" >
    <img src="http://www.freedigitalphotos.net/images/images/home/spring.jpg" />
</div>

JQuery的:

 $(document).ready(function() {

     $(".slidingDiv").hide();
     $(".show_hide").show();

     $('.show_hide').click(function () {
         $(".slidingDiv").slideToggle();
         return false;
     });

 });

9 个答案:

答案 0 :(得分:1)

$(document).ready(function () {

     $(".slidingDiv").hide();
     $(".show_hide").show();

     $('.show_hide').on('mouseover',function () {
         $(".slidingDiv").show();
     });
     $('.show_hide').on('mouseleave',function () {
         $(".slidingDiv").hide();
     });
});

答案 1 :(得分:1)

我用jQuery Animate做了一个例子。

HTML

    <a id="myLink" href="#">One</a>

    <div id="slidingDiv">
        <img src="http://dummyimage.com/100x100/000/fff" />
    </div>

CSS

#slidingDiv img{
   margin: 0 0 0 0;
   position: absolute;
   height: 0px;
   width: 100px;
   opacity: 0;
   -webkit-transition: all 0.5s ease;
   -moz-transition: all 0.5s ease;
   -o-transition: all 0.5s ease;
   transition: all 0.5s ease;
 }

jQuery 1.10.1

    var toggleDiv = function( selector, height, width, marginBottom, opacity, time ){
            $(selector)
                .removeAttr('style')
                .stop().animate({
                    'height': height,
                    'width': width,
                    'marginBottom': marginBottom, 
                    'opacity': opacity 
                }, time, 'swing', function(){ console.log('Done!!'); } );
            };

    $(document).ready(function () {

        var myImg = $( 'img', '#slidingDiv' ),
            myLink = $( '#myLink' );

        $( myImg ).hide();
        $( myLink )
            .on('mouseenter', function(){ toggleDiv( myImg, '100px', '100px', '30px', 1, 10 ) })
            .on('mouseleave', function() { toggleDiv( myImg, '0px', '100px', '0px', 0, 10 ) });
     });  

点击here

答案 2 :(得分:0)

只需使用hover代替click

 $('.show_hide').hover(function () {
     $(".slidingDiv").slideToggle();
     return false;
 });

答案 3 :(得分:0)

click更改为hover即可。

$('.show_hide').hover(function () {
     $(".slidingDiv").slideToggle();
     return false;
});

<强> JSFiddle

答案 4 :(得分:0)

更新了你的小提琴

Updated JSFIDDLE

 $(document).ready(function () {

     $(".slidingDiv").hide();
     $(".show_hide").show();

     $('.show_hide').on('mouseover',function () {
         $(".slidingDiv").slideToggle();
         return false;
     });

 });

答案 5 :(得分:0)

这是最好的方法:

$(document).ready(function () {

     $(".slidingDiv").hide();
     $(".show_hide").show();

     $('.show_hide').on('mouseover mouseout',function () {
         $(".slidingDiv").slideToggle();

     });

 });

FIDDLE DEMO

答案 6 :(得分:0)

要让它显示,如下拉列表,请将position:absolute添加到.slidingDiv

.slidingDiv {
    margin-bottom:30px;
    position:absolute;
}

.click更改为.hover

请参阅示例HERE

答案 7 :(得分:0)

试试这个 的 JS

 $(function(){
      $(".slidingDiv").hide();
         $(".show_hide").show();

         $('.show_hide').hover(function () {
             $(".slidingDiv").slideToggle();

         });
    });

并将此添加到您的CSS

.slidingDiv {
    margin-bottom:30px;
    position:absolute;
}
.show_hide {
    display:none;
}

<强> DEMO HERE

答案 8 :(得分:0)

只需使用悬停

$('.show_hide').hover(function () {
 $(".slidingDiv").slideToggle();
 return false;
});