动画锚链接
这个问题在这里已经有了答案:
我喜欢使用Karl Swedberg的这段代码,我通常在</body>
标记前的footer.php文件中使用<script></script>
来包含它,或者您可以将它排入函数 .php文件中它加载在页脚中。 我喜欢这段代码,因为一旦你点击锚点,它就会从URL中删除#hash。
jQuery(document).ready(function($){
// From: http://www.learningjquery.com/2007/10/improved-animated-scrolling-script-for-same-page-links/
function filterPath(string) {
return string
.replace(/^//,'')
.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
.replace(//$/,'');
}
var locationPath = filterPath(location.pathname);
var scrollElem = scrollableElement('html', 'body');
$('a[href*=#]').each(function() {
var thisPath = filterPath(this.pathname) || locationPath;
if ( locationPath == thisPath
&& (location.hostname == this.hostname || !this.hostname)
&& this.hash.replace(/#/,'') ) {
var $target = $(this.hash), target = this.hash;
// Added line below from previous version
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target) {
var targetOffset = $target.offset().top;
$(this).click(function(event) {
event.preventDefault();
$(scrollElem).animate({
scrollTop: targetOffset
}, 400);
return false;
});
}
}
});
// use the first element that is "scrollable"
function scrollableElement(els) {
for (var i = 0, argLength = arguments.length; i <argLength; i++) {
var el = arguments[i],
$scrollElement = $(el);
if ($scrollElement.scrollTop()> 0) {
return el;
} else {
$scrollElement.scrollTop(1);
var isScrollable = $scrollElement.scrollTop()> 0;
$scrollElement.scrollTop(0);
if (isScrollable) {
return el;
}
}
}
return [];
}
});
您可以通过更改该部分代码中的数字来控制滚动的速度:
$(scrollElem).animate({
scrollTop: targetOffset
}, 400);
怎么样页面滚动到ID插件? 它在我的WordPress网站中工作正常。 我们可以在几分钟内轻松地在管理页面上设置它,然后完成。 这个插件是你正在寻找的。 请检查这个链接页面滚动到ID插件教程
更新:如果您不想使用插件,请按照以下步骤操作。 我们将只使用纯粹的jQuery插件,令人惊讶的是,代码的作品就像一个魅力,看起来很简单!
1.准备你的WordPress主题
用一些我们稍后会用到的课程来包装你的菜单。 例如:
<nav id='scrollNav'>
<?php wp_nav_menu(array('theme_location' => 'your-menu-location', 'container'=>false, 'depth'=>1) ?>
</nav>
然后将id添加到您的特定元素,但是您已将id添加到您的footer
元素,即#footer-anchor
。
2.编码你的javascript,我们将只使用jQuery
(function($){
$("#scrollNav").find("a").click(function(){
var $targetElm = $($(this).attr("href"));
$('html,body').animate({scrollTop: $targetElm.offset().top},
'slow');
});
})(jQuery)
3.排队你的脚本(包括你的脚本在WordPress的方式)
function your_scripts_method() {
wp_enqueue_script(
'your-script',
get_stylesheet_directory_uri() . '/js/your_script.js',
array( 'jquery' )
);
}
add_action( 'wp_enqueue_scripts', 'your_scripts_method' );
4.再次运行您的网站
恭喜 !!!
链接地址: http://www.djcxy.com/p/23099.html下一篇: How to scroll vertically to a line, in HTML automatically?