我想要一个“阅读”链接,点击后可以移动到页面的另一部分。
I understand the HTML bit 和I have even used some nice scrolling.
它起作用了。但当实施时,我的部分主题就被打破了。滑块图像消失,H1文本全部聚集到左侧。
下面是我添加到子函数的内容。php,以便将javascript注入头部区域。
/**
* Smooth scroll
*/
add_action(\'wp_head\', \'wpse_43672_wp_head\');
function wpse_43672_wp_head(){
//Close PHP tags
?>
//ADD YOUR PLAIN CODE HERE
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function() {
$(\'a[href*=#]:not([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) {
$(\'html,body\').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
</script>
//STOP YOUR PLAIN CODE HERE
<?php //Open PHP tags
}
这是如何打破我的模板的一半,但仍能很好地滚动?有更好的方法吗?
编辑:
好的,现在我正在尝试将脚本排队。
这是我的子函数中的内容。php(将js保存在文件中)。模板加载正常,但滚动未设置动画。我看不出检查员有什么错误。
function wpb_adding_scripts() {
wp_register_script(\'scroll\', get_stylesheet_directory_uri() . \'/js/scroll.js\', array(\'jquery\'));
wp_enqueue_script(\'scroll\');
}
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' );
最终编辑:
这是我使用的解决方案。。。
我将其添加到子函数中。php
function wpb_adding_scripts() {
wp_register_script(\'scroll\', get_stylesheet_directory_uri() . \'/js/scroll.js\', array(\'jquery\'));
wp_enqueue_script(\'scroll\');
}
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' );
我将此添加到滚动。我的子目录中js文件夹中的js文件。
(function($){
$(function() {
$(\'a[href*=#]:not([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) {
$(\'html,body\').animate({
scrollTop: target.offset().top
}, 1000);
return false;
}
}
});
});
})(jQuery);
事实上,我遇到了一个js错误,需要添加一个
noConplict wrapper.