我正在尝试在与页面上的hashbang链接关联的滚动上使用动画效果。
当我在常规网站上使用它时,它可以很好地工作。
一旦我尝试在wordpress网站上使用它就没有动画,它只是跳转到DIV而不是滚动。
jQ代码(尝试将它放在头部,主体和页脚中(没有区别):
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function () {
window.location.hash = target;
});
});
});
</script>
以下是我当前版本的JQuery,以防出现问题?
的jquery.js?版本= 1.11.0
的jquery-migrate.min.js?版本1.2.1 =
可能是wordpress加入脚本的顺序吗?
任何想法,因为我把头发拉到这里!
答案 0 :(得分:1)
改为:
<script type="text/javascript">
jQuery(document).ready(function($){ // pass $ as an arg here
您需要在准备好的回调中将$
作为参数传递,并且您不需要jQuery.noConflict();
,因此请将其删除。
因为wordpress使用jQuery
代替$
,所以这不会与使用$
作为别名的其他库发生冲突,所以你可以做两件事
$
的每一次出现。答案 1 :(得分:1)
尝试使用wrap (function($){ //your content })(jQuery);
(function($){
$(document).ready(function(){
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
var target = this.hash,
$target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, 900, 'swing', function(){
window.location.hash = target;
});
});
});
})(jQuery);