这里再次提供一些帮助:)
我有这个网站: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;
});
无论如何,我还有一个按钮“提交您的播放列表”,打开顶部面板以显示侧边栏中的表单,当我点击它时,它只是打开面板(意味着我没有被带到顶部的锚也)。这就像2位代码是冲突的,只有一个脚本可以工作。有关如何单击侧栏中的“提交您的播放列表”的任何想法,请将用户带到顶部标题锚点并单击打开面板?
干杯, 基思
答案 0 :(得分:2)
您应该在点击按钮时将滚动插入到您的功能中,例如:
// 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;
});
答案 1 :(得分:0)
也许你应该以某种方式停止这个事件。 在原型中,我会做这样的事情: $('。btn-slide')。observe('click',function(e){$('#panel')。slide(); Event.stop(e);})