2012-07-14 149 views
1

我设计的页面底部有一个固定的位置栏,用于引用,该页面在页面加载时以零高度开始,但可以通过单击位于div的位置进行扩展直接在它上面。同样,单个引用是内容块中链接的锚点,我使用scrollTo和localScroll jQuery插件进行导航 - 如果在引用栏展开时单击了锚定链接,则会将localScroll拖动到它,if栏会减少,它会滚动到它,然后调用扩展动画。处理所有这些工作的脚本的第一部分效果很好 - 参考栏打开后只需点击一下鼠标就可以定位div - 但是在页面加载后单击第一个锚定链接,无论参考栏是关闭还是打开,都需要两次单击,不是一个,做任何事情。这里的脚本:页面加载后的第一个锚定链接需要两次点击

$(document).ready(function() { 
    $("#reftag").css('bottom', '0px'); 
    $("#refblock").css('height','opx'); 
    $("refblock").scrollTo($("#refblock h4"),0); 


    $("#reftag").click(
     function(){ 
      var offset = $("#refblock").offset(); 
      if(($(document).scrollTop()+$(window).height() - offset.top) > 100) 
      { 
       $("#reftag").animate({bottom: "0px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
       $("#refblock").animate({height:"0px"},{queue:false, duration: 1700, easing: 'easeOutBounce'}) 
       $("#refblock").scrollTo($("#refblock h4"),0); 
      } 
      else 
      { 
       $("#reftag").animate({bottom: "200px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
       $("#refblock").animate({height:"200px"},{queue:false, duration: 1700, easing: 'easeOutBounce'}) 
      } 
      return false; 
     }); 

    $("a.ref").click(
     function() {   
      var offset = $("#refblock").offset(); 
      if(($(document).scrollTop()+$(window).height() - offset.top) > 100) 
      { 
       $('#textblock').localScroll({target:'#refblock'}); 
      } 
     else{ 
      $('#textblock').localScroll({target:'#refblock',onAfter:function(){ 
       $("#reftag").animate({bottom: "200px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
       $("#refblock").animate({height:"200px"}, {queue:false, duration: 1700, easing: 'easeOutBounce'}) 
      }});  
      } 
       return false; 
     }); 
    }); 

而这里的refblock的CSS(如果它的任何值):

#refblock{ 
    width: 100%; 
    height: 0px; 
    position: fixed; 
    bottom: 0px; 
    padding: 3px 20px 3px 0px; 
    background: rgb(194,1,92); 
    margin-left: 0%; 
    margin-right: auto; 
    text-align:center; 
    z-index: 100; 
    overflow: auto; 
} 

任何想法?这是脚本还是其他问题?当它启用时,我会发布一个链接到网站,如果有其他任何有助于回答的信息,请告诉我。

+0

同样的问题我。 – camou 2014-12-30 00:57:39

回答

0

尽量防止点击a.ref链接触发默认动作:

$("a.ref").click(function (e) { 
    e.preventDefault(); 
} 
+0

在代码中需要去哪个地方吗?我改变了函数(将e.preventDefault()放在大括号内),我得到了相同的结果。 – DavinR 2012-07-14 22:27:25