jquery图像幻灯片

时间:2009-06-21 12:23:34

标签: jquery slide

这是测试页

http://www.studioteknik.com/html/test-portfolio.html

我没有错误,但没有悬停滑动效果...

任何人都有线索?


更新,molf已经解决了问题,这是绝对的位置,但是,现在,当文本显示时,下面的链接是不可克服的


更正后的页面位于:http://www.studioteknik.com/html/test-portfolio3.html

2 个答案:

答案 0 :(得分:3)

您应该更新CSS,确保.image img绝对定位:

.image img {
    position: absolute; // added
    height: 100%;
    width: 100%;
}

这将使幻灯片正常工作。但是,图像将显示在周围的div之外。要解决此问题,请将overflow: hidden属性添加到.image

.image {
    // ...
    overflow: hidden; // added
}

更新:鉴于在上面的解决方案中你最终得到背后的 .image div(即使用不可点击的链接),你最好幻灯片 而非图片。而不是上述内容,请执行以下操作:

.box {
    // ...
    overflow: hidden; // added
}

在你的javascript中:

$('div.box').hover(function() {
    $(this).find(".image").animate({top:'200px'},{queue:false,duration:500});
}, function() {
    $(this).find(".image").animate({top:'0px'},{queue:false,duration:500});
});

请注意,我们现在正在追踪hover上的div.box事件,并向下滑动div.image

答案 1 :(得分:0)

适用于

position:relative;

但是你需要将你的JS改为:

$('div.webpreview').hover(....);

因为页面中没有“class”类的div:)

对于可点击链接:

型:

.webpreview  img {
    height: 100%;
    position:relative;
    overflow:hidden;
    width: 100%;
    z-index:100;//note this
}

.box .linkDiv{
       top:-300px;
       position:absolute;
       overflow:hidden;
       z-index:200;
}

JS:

$(document).ready(function() {
$('div.box').hover(
        function(){
             $('div.webpreview',$(this)).find("img").animate(
                      {top:'200px'},{queue:false,duration:1000});
            $("div.linkDiv", $(this)).animate({top:'0px'},
                      {queue:false, duration:500});
        },

        function(){
            $('div.webpreview',$(this)).find("img").animate(
                         {top:'0px'},{queue:false,duration:1000});
            $("div.linkDiv",$(this)).animate({top:'-300px'},
                         {queue:false, duration:500});
        }
        );
});

HTML:

<div class="box">
 <div class="linkDiv">
    <strong>Client :</strong> Sous le charme des érables<strong><br>
      Manda : </strong>Conception et réalisation<br>
      <strong>Adresse : <a href="http://www.souslecharme.ca/" 
           target="_blank">www.souslecharme.ca</a></strong>
</div>
  <div class="webpreview"><img src="test-portfolio_files/souslecharme.jpg"></div>
</div>

您也可以通过更改包含链接的div的 z-index 来执行此操作:

       $('div.box').hover(
        function(){
            $('div.webpreview',$(this)).find("img").animate(
                        {top:'200px'},{queue:false,duration:1000});
            $("div.linkDiv", $(this)).css("z-index","200");
        },

        function(){
            $('div.webpreview',$(this)).find("img").animate(
                       {top:'0px'},{queue:false,duration:1000});
            $("div.linkDiv", $(this)).css("z-index","50");
        });