Aktives Mitglied
Guten morgen,
WordPress und Javascript treibt mich mal wieder zum Wahnsinn.
Und zwar habe ich über die functions.php eine eigene JS-Datei eingefügt, in der einige Scripte zusammengeführt sind, um Requests zu minimieren.
Soweit so gut. Bis eben funktionierte auch alles einwandfrei. Jetzt habe ich in der Datei ein weiteres Script eingefügt (Tree-Menu für die Sidebar) und auf einmal wird die Datei nicht mehr ausgeführt (in einer statischen Testversion lief alles problemlos).
Die JS-Datei sieht wie folgt aus:
Die Website, um die es geht, ist folgende:
Leider wird mir mit Firebug auch kein Fehler angezeigt, so dass ich nicht weiß wonach ich suchen, bzw. was ich ändern soll.
Vielleicht könnt ihr mir helfen.
Besten Dank im Voraus.
WordPress und Javascript treibt mich mal wieder zum Wahnsinn.
Und zwar habe ich über die functions.php eine eigene JS-Datei eingefügt, in der einige Scripte zusammengeführt sind, um Requests zu minimieren.
Soweit so gut. Bis eben funktionierte auch alles einwandfrei. Jetzt habe ich in der Datei ein weiteres Script eingefügt (Tree-Menu für die Sidebar) und auf einmal wird die Datei nicht mehr ausgeführt (in einer statischen Testversion lief alles problemlos).
Die JS-Datei sieht wie folgt aus:
Javascript:
// TOGGLE SIDEBAR MENU
(function( $ ){
$.fn.originalToggle = function( fn, fn2 ) {
var args = arguments,guid = fn.guid || $.guid++,i=0,
toggler = function( event ) {
var lastToggle = ( $._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
$._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
event.preventDefault();
return args[ lastToggle ].apply( this, arguments ) || false;
};
toggler.guid = guid;
while ( i < args.length ) {
args[ i++ ].guid = guid;
}
return this.click( toggler );
};
})( jQuery );
/* Alternative toggle */
(function( $ ){
$.fn.selfmadeToggle = function(){
var functions = arguments ;
return this.click(function(e){
e.preventDefault();
var iteration = $(this).data('iteration') || 0;
functions[iteration].apply(this, arguments);
iteration = (iteration + 1) % functions.length ;
$(this).data('iteration', iteration);
});
};
})( jQuery );
/* click toggle */
var tree = {
init: function() {
var $obj = $(".sidebar .menu li ul");
if (!$obj.length) return;
$obj.find("ul").each(function() {
$(this).css("display", "none");
});
$("li:not(:has(ul))").find("a").addClass("leaf");
$obj.find("a").selfmadeToggle(function() {
$(this).parent().find("ul:first").slideDown(400);
tree.classManager($(this));
},function() {
$(this).parent().find("ul:first").slideUp(400);
tree.classManager($(this));
});
$obj.find("a").dblclick( function() {
window.location = $(this).attr("href");
});
},
classManager: function($obj) {
if (!$obj.hasClass("leaf")) {
$obj.toggleClass("selected");
}
}
};
$(document).ready(tree.init);
// RESPONSIVE MAIN-MENU
( function( $ ) {
$( document ).ready(function() {
$('#cssmenu').prepend('<div id="indicatorContainer"><div id="pIndicator"><div id="cIndicator"></div></div></div>');
var activeElement = $('#cssmenu>ul>li:first');
$('#cssmenu>ul>li').each(function() {
if ($(this).hasClass('active')) {
activeElement = $(this);
}
});
var posLeft = activeElement.position().left;
var elementWidth = activeElement.width();
posLeft = posLeft + elementWidth/2 -6;
if (activeElement.hasClass('has-sub')) {
posLeft -= 6;
}
$('#cssmenu #pIndicator').css('left', posLeft);
var element, leftPos, indicator = $('#cssmenu pIndicator');
$("#cssmenu>ul>li").hover(function() {
element = $(this);
var w = element.width();
if ($(this).hasClass('has-sub'))
{
leftPos = element.position().left + w/2 - 12;
}
else {
leftPos = element.position().left + w/2 - 6;
}
$('#cssmenu #pIndicator').css('left', leftPos);
}
, function() {
$('#cssmenu #pIndicator').css('left', posLeft);
});
$('#cssmenu>ul').prepend('<li id="menu-button"><a>Menü</a></li>');
$( "#menu-button" ).click(function(){
if ($(this).parent().hasClass('open')) {
$(this).parent().removeClass('open');
}
else {
$(this).parent().addClass('open');
}
});
});
} )( jQuery );
// SCROLL TO TOP
jQuery(document).ready(function($){
$(window).scroll(function(){
if ($(this).scrollTop() > 300) {
$('#backToTop').fadeIn('slow');
} else {
$('#backToTop').fadeOut('slow');
}
});
$('#backToTop').click(function(){
$("html, body").animate({ scrollTop: 0 }, 500);
return false;
});
});
// CLASSIE - FUER SIDEBAR-PUSH BEI RESPONSIVE
/*!
* classie - class helper functions
* from bonzo https://github.com/ded/bonzo
*
* classie.has( elem, 'my-class' ) -> true/false
* classie.add( elem, 'my-new-class' )
* classie.remove( elem, 'my-unwanted-class' )
* classie.toggle( elem, 'my-class' )
*/
/*jshint browser: true, strict: true, undef: true */
( function( window ) {
'use strict';
// class helper functions from bonzo https://github.com/ded/bonzo
function classReg( className ) {
return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
}
// classList support for class management
// altho to be fair, the api sucks because it won't accept multiple classes at once
var hasClass, addClass, removeClass;
if ( 'classList' in document.documentElement ) {
hasClass = function( elem, c ) {
return elem.classList.contains( c );
};
addClass = function( elem, c ) {
elem.classList.add( c );
};
removeClass = function( elem, c ) {
elem.classList.remove( c );
};
}
else {
hasClass = function( elem, c ) {
return classReg( c ).test( elem.className );
};
addClass = function( elem, c ) {
if ( !hasClass( elem, c ) ) {
elem.className = elem.className + ' ' + c;
}
};
removeClass = function( elem, c ) {
elem.className = elem.className.replace( classReg( c ), ' ' );
};
}
function toggleClass( elem, c ) {
var fn = hasClass( elem, c ) ? removeClass : addClass;
fn( elem, c );
}
window.classie = {
// full names
hasClass: hasClass,
addClass: addClass,
removeClass: removeClass,
toggleClass: toggleClass,
// short names
has: hasClass,
add: addClass,
remove: removeClass,
toggle: toggleClass
};
})( window );
Die Website, um die es geht, ist folgende:
Leider wird mir mit Firebug auch kein Fehler angezeigt, so dass ich nicht weiß wonach ich suchen, bzw. was ich ändern soll.
Vielleicht könnt ihr mir helfen.
Besten Dank im Voraus.