Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何同时使用锚定链接和滚动?_Javascript_Jquery - Fatal编程技术网

Javascript 如何同时使用锚定链接和滚动?

Javascript 如何同时使用锚定链接和滚动?,javascript,jquery,Javascript,Jquery,这里再次需要一些帮助:) 我有一个网站:sharemyplaylists.com 它使用此滚动插件在单击时平滑地将用户带到锚点,下面是代码: // Smooth anchor link script $(document).ready(function() { $('a[href*=#]').click(function() { if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'

这里再次需要一些帮助:)

我有一个网站:sharemyplaylists.com

它使用此滚动插件在单击时平滑地将用户带到锚点,下面是代码:

// Smooth anchor link script
$(document).ready(function() 
{
   $('a[href*=#]').click(function() 
   {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
         && location.hostname == this.hostname) 
      {
         var $target = $(this.hash);
         $target = $target.length && $target 
            || $('[name=' + this.hash.slice(1) +']');

         if ($target.length) 
         {
            var targetOffset = $target.offset().top;
            $('html,body')
               .animate({scrollTop: targetOffset}, 1000);
            return false;
         }
      }
   });
}); 

// open panel on click script
$(".btn-slide").click(function()
{
   $("#panel").slideToggle("slow");
   $(this).toggleClass("active"); return false;
});
无论如何,我还有一个按钮“提交你的播放列表”,它打开顶部面板,在侧边栏中显示一个表单,当我单击此按钮时,它只会打开面板(这意味着我也不会进入顶部主播)。这就像两位代码相互冲突,只有一个脚本可以工作。如何单击侧边栏中的“提交播放列表”,将用户带到顶部标题锚,并在一次单击中打开面板

干杯,
Keith

您应该在单击按钮时将滚动条插入到函数中,类似于:

// open panel on click script
$(".btn-slide").click(function()                
{
  // here insert scrolling
  targetOffset = 0; // to scroll
  $('html,body').animate({scrollTop: targetOffset}, 1000);
  // toggle
  $("#panel").slideToggle("slow");
  $(this).toggleClass("active"); return false;
});

也许你应该设法停止这件事。 在原型中,我会这样做:
$('.btn slide')。观察('click',函数(e){$('#panel').slide();事件。停止(e);})

Genuis!-这就是为什么我爱栈溢,像你这样的人谢尔盖,非常感谢!