2016-11-05 50 views
4

我试图在网站上实现自定义徽标缩小,但是我做错了什么,找不到错误。也许你可以给一个小建议。在wordpress上运行调整大小的徽标脚本

所以我已经做了:用的style.css,functions.php中,资产/ JS/my_shrinker.js

1.Child主题

2.I附加功能加载我,收缩机。在functions.php的JS

function shrinker() { 
    wp_enqueue_script('my_shrinker', get_stylesheet_directory_uri().'/assets/js/my_shrinker.js', array('jquery'), '1.0.0', true); 
} 
add_action('wp_enqueue_scripts', 'shrinker'); 

在我-shrinker.js滚动时3.Added这个代码来执行收缩

function my_shrinker() { 
window.addEventListener('scroll', function(event){ 
     var distanceY = window.pageYOffset || document.documentElement.scrollTop, 
      shrinkOn = 300, 
      d = document.getElementsByTagName("kad-header-left"); 
     if (distanceY > shrinkOn) { 
      d.className += " shrinkedlogoyo"; 
     } else { 
      d.classList.remove("shrinkedlogoyo"); 
     } 
     }) 
} 

脚本应该加上“shrinkedlogo”级到喀头左格,里面有这个CSS

.shrinkedlogoyo { display: block !important; position: absolute !important; left: 8% !important; top: 2px !important; width: 45px !important; height: 45px !important; } 

但是,好,这是不会发生,我没有得到任何错误。你能给我一个好的建议吗?

网站是http://arthome17.ru

+0

我的回答对你有帮助吗? – JazZ

+0

是的,它完美的工作! –

+0

很高兴听到它!所以请记得验证我的答案。 ; ) 祝你好运 ! – JazZ

回答

3

剧本 “我-shrinker.js” 未正确调用。

http://arthome17.ru/wp-content/themes/virtue_premium/assets/js/my-shrinker.js?ver=1.0.0

返回一个404

这是因为get_template_directory_uri()是寻找父主题的脚本。请使用get_stylesheet_directory_uri()代替您的孩子主题。

希望它有帮助。

编辑 由于在控制台中新的错误(语法错误:。缺失(前正式参数)

我会建议你使用addClass()removeClass()性质和审查你的语法

RE-编辑

如果你想让你的脚本在页面上运行,你必须写下如下的代码:

$ = jQuery.noConflict(); 
$(document).ready(function() { 
    window.addEventListener('scroll', function(event){ 
     var distanceY = window.pageYOffset || document.documentElement.scrollTop, 
      shrinkOn = 300; 
     if (distanceY > shrinkOn) { 
      $(".kad-header-left").addClass("shrinkedlogoyo"); 
     } else { 
      $(".kad-header-left").removeClass("shrinkedlogoyo"); 
     } 
    }); 
}); 

添加的jsfiddle

这里工作脚本的live example。祝你好运 !

+0

嗨Adrien, 我试过你的建议并更新了我的问题中的代码。虽然它不执行所需的操作。没有课程添加到div。我必须以不同的方式执行它吗? –

+0

现在在控制台中有一个错误:'SyntaxError:missing(before formal parameters' – JazZ

+0

此外,当函数my_shrinker被调用? – JazZ