2016-11-05 21 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