2012-06-19 120 views
0

现在我有一个链接,当你点击它时会导致一个隐藏的div出现。但是,当隐藏的div出现时,页面本身不会滚动 - 因此,除非用户知道向下滚动,否则他们不会看到隐藏的div。当div出现jquery时滚动页面

这里是我的HTML代码:

<p class="telephone2"><a href="#">Disclaimer</a></p> 
    <div class="disclaimer"> 
     <p>Hidden div!</p> 
    </div><!--end disclaimer --> 

这里是我的javascript,这只是调用jQuery的:

//下拉免责声明

$(".telephone2").click(function() { 
    if ($(".disclaimer").is(":hidden")) { 
     $(".disclaimer").slideDown("slow"); 
    } 
    return false; 
}); 

有没有人有什么想法?

非常感谢!

+0

可以使用许多的jQuery插件滚动的一个,它会很少不错的效果滚动。你可以将散列更改为div,有很多方法。 – gdoron

+0

我实际上尝试添加一个锚点链接,然后让它滚动到锚点链接,但它似乎存在某种问题,它按照什么顺序执行它。Blah。 – Helen

回答

1

在这里你去:工作演示:http://jsfiddle.net/epinapala/xy2Ua/

<p class="telephone2"><a href="#">Disclaimer</a></p> 
<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p> 
    <div class="disclaimer"> 
     <p>Hidden div!</p> 
    </div><!--end disclaimer --> 

<script type='text/javascript'> 
    $(".disclaimer").hide(); 
    $(".telephone2").click(function() { 
     if ($(".disclaimer").is(":hidden")) { 
      $(".disclaimer").slideDown("slow",function(){ 
       var elem = $('.disclaimer'); 
     $(window).scrollTop(elem.offset().top); 
      }); 

     } 
     return false; 
    }); 

​</script> 
+0

这个小提琴的东西非常酷!除此之外,感谢您编写代码! – Helen

+0

(这不是在我的网站上工作,但是,这是令人沮丧的。) – Helen

+0

是您的网站公开?所以我可以看看调试器来检查什么是错的? 如果你已经有这个工作,那么请忽略! –

2

试试这个:

$(".telephone2").click(function() { 
    if ($(".disclaimer").is(":hidden")) { 
     $(".disclaimer").slideDown("slow"); 
     $(window).scrollTop($(".disclaimer").offset().top) 
    } 
    return false; 
});