鼠标滚动到某处出现浮动层,并且点击浮动层上的链接跳到页面相应位置

鼠标滚动到某处出现浮动层,并且点击浮动层上的链接跳到页面相应位置
如上图所示,橙色线以上的部分是浮动层,页面刚打开时并不显示,但是当页面向下滚动到下面相应位置时浮动层出现,并始终出现在顶部。浮动层蓝色文字是链接,点击链接页面会跳到页面下面相应的位置。
首先,让我们先用jquery实现浮动层的显示。
浮动层代码如下:
鼠标滚动到某处出现浮动层,并且点击浮动层上的链接跳到页面相应位置
主要css代码如下:
.hdetail_float_top{background:url(../image/hdetail_gradualBg.png) repeat-x; height:86px;border-bottom:1px solid #f08200;}
jquery代码如下:(先引入jquery文件,然后引入jquery.floatDiv.min.js,见此篇文章http://blog.sina.com.cn/s/blog_60b35e830101537l.html)
$(".hdetail_float_top").floatdiv({left: "0", top: "0"});//先将浮动层隐藏,设置位置
    $(".hdetail_float_top").parent("div").css("width","100%");//保证ie6中浮动顶部也是通栏的
    var float_top=$(".pos").offset().top;//页面滚动到样式为pos的位置就开始出现浮动层
    $(window).scroll(function (){
        var offsetTop = $(window).scrollTop();
        if(offsetTop>float_top)
        {
            $(".hdetail_float_top").fadeIn(800);
        }
        else
        {
            $(".hdetail_float_top").fadeOut(800);
        }
    });
然后我们再来看点击蓝色文字链接跳到页面相应位置的实现方法,首先我们肯定是想到了锚点链接,但是用这个方法发现跳到位置因为上面有浮动层,会遮住部分内容,所以不能采用锚点链接方法。我们只能用js实现了。代码如下:
function click_scroll(click_url,click_end) {//函数两个参数:(需要点击的文字,跳到的位置)
         $("#"+click_url).click(function(){
         var scroll_offset = $("#"+click_end).offset();
         $("body,html").animate({
         scrollTop:scroll_offset.top-86},0);});//跳到的位置减去顶部浮动层的高度
         };//设置函数
    click_scroll("hdetail_room_style","hdetail_room_style1");
    click_scroll("hdetail_hotel_desc","hdetail_hotel_desc1");
    click_scroll("hdetail_hotel_eval","hdetail_hotel_eval1");
    click_scroll("hdetail_hotel_trans","hdetail_hotel_trans1");

posted @ 2014-04-14 13:25  我爱喜羊羊  阅读(778)  评论(0)    收藏  举报