-
AuthorPosts
-
November 7, 2017 at 1:19 pm #873651
i have a child-theme avia.js embeded via:
add_action( 'wp_enqueue_scripts', 'wp_change_aviajs', 100 ); function wp_change_aviajs() { wp_deregister_script( 'avia-default' ); wp_enqueue_script( 'avia-default-child', get_stylesheet_directory_uri().'/js/avia.js', array('jquery'), 2, true ); }
what if i got a child-theme js file like https://kriesi.at/support/topic/shrinking-of-header-amount-an-info/#post-867542
that replaces a part of avia.js ?
on parent-theme avia.js (without the child-theme avia.js) it works – but with both in child theme not.
is there a solution ? Or do i have to change than the code in avia.js of child-theme and have only one js to embed.November 7, 2017 at 3:12 pm #873727Hey Guenter,
To give a more common answer.
– All functionality are jQuery handler functions.
– You can unbind any jQuery handler using .off(‘….’).
– You can define the modified function in your second js file
– Attach your handlers same way Kriesi does
– Make sure, your file is loaded after avia.js and your unbind code runs after Kriesi’s attached his handlers and than run your attach codeBest regards,
GünterNovember 7, 2017 at 3:44 pm #873749Your opinion concerning my abilities is probably too high
ich bin ein Meister der Kombination, Logik und Transferleistung – aber Code aus der Hand schreiben ist mir nicht gegeben.
Langsam komme ich auch in die jQuery Situation um dies zu tun und php gestaltet sich immer leichter, aber wie gesagt ich benötige immer Fallbeispiele die ich dann kombinatorisch zusammensetzen kann.Gerne werde ich mich aber trotzdem einlesen.
Solltest du aber ein Beispiel, wie das obige haben – so wäre es nett.die function um die es geht is ja :
function avia_header_size()
weiter unten wird dann mit .on
win.on( 'debouncedresize', function(){ el_height = $(elements).attr('style',"").filter(':first').height(); set_height(); } ); win.on( 'scroll', function(){ window.requestAnimationFrame( set_height )} );
debouncedresize und scroll sind jetzt die events; ?
how do i unbind that function on avia.js
and do i have to bind the new function ?November 11, 2017 at 3:17 pm #875469Hallo Günter,
Sorry, habe die erste Frage etwas zu oberflächlich gelesen.
function avia_header_size()
ist leider nicht so leicht zu ersetzen, da es sich um kein jQuery plugin handelt.
Was gehen sollte, wäre die Funktion in eine eigene Datei zu kopieren mit eigenem Namen (z.B. my_avia_header_size), und dort zu modifizieren. Diese Datei dann vor avia.js laden, sollte aber glaub ich nicht unbedingt notwendig sein. Auf jeden Fall nicht in
$(document).ready(function()
unterbringen.
In avia.js Zeile 32 müsstest Du
avia_header_size()
ersetzen mit
my_avia_header_size();
.
Anders lässt sich das leider nicht realisieren.
LG,
GünterNovember 11, 2017 at 4:28 pm #875483Das war auch mehr eine akademische frage ( reine Neugier )
ich gehe den weg über die komplette avia.js und ersetze eben dort in der function.Mir fiel nur auf, dass durch deinen fix betreffend des Hamburger Menus unter mitnahme der gesetzten Klassen ja die avia.js ersetzt wurde.
Dadurch aber meine Modifikation des shrinkens nicht mehr funktionierte, obwohl das Laden dieser in meiner functions.php unterhalb des avia.js ersatzes stand.November 14, 2017 at 3:03 pm #876607 -
AuthorPosts
- You must be logged in to reply to this topic.