2012-06-19 162 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; 
});