Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Console.log not working at all

A bunch of code isn't working and I'm trying to identify where the problem lies but console.log() isn't logging any results in Chrome Dev tools, am I doing it correctly?

$(window).scroll(function() {        $('section').each(function(){             var id='#'+$(this).attr('id'),                 off=$(id).offset().top,                 hei=$(id).height(),                 winscroll=$(window).scrollTop(),                 dif=hei+off-($(window).height());              if (winscroll >= off && winscroll<=dif) {                 console.log('first broken');                 $(id+' .sticky').removeClass('abs').addClass('fix');             } else if (winscroll > dif){                 console.log('second broken');                 $(id+' .sticky').removeClass('fix').addClass('abs');             } else {                 console.log('third broken');                 $(id+' .sticky').removeClass('fix abs');             }   });         }); 

EDIT FULL CODE ADDED

$(document).ready(function() {      // If a browser supports 3D transforms use the fancy menu if it doesn't, use standard accordion menu instead     if($('html').hasClass('csstransforms3d')){          $( "#mp-menu" ).removeClass( "snap-drawers" ).addClass( "mp-menu" );          $('nav ul li ul').css('border-bottom','1px solid rgba(255, 255, 255, .05)');         $('nav ul li ul').css('background','none');          // Insert elements where necessary to create the right structure         $('#mp-menu').wrapInner('<div class="mp-level" />');         $('#mp-menu').find('li > ul').wrap('<div class="mp-level" />');          $("#mp-menu ul li .mp-level").prepend(function () {             return '<span class="menu-title">' + $(this).prev().text() + '</span> <a class="ico mp-back" href="#">Back</a>';         });          // load in necessary JS files         $.getScript('http://176.32.230.2/baodev.com/cjo/wp-content/themes/CJO/js/multi-level-menu.js');      } else {          // load in necessary JS files         $.getScript( "http://176.32.230.2/baodev.com/cjo/wp-content/themes/CJO/js/jquery.navgoco.min.js", function() {             $("#demo1").navgoco({accordion: true});         });          $.getScript( "http://176.32.230.2/baodev.com/cjo/wp-content/themes/CJO/js/snap.min.js", function() {              // Snapper settings                  var snapper = new Snap({               element: document.getElementById('scroller'),               disable: 'right',               maxPosition: 291             });              var addEvent = function addEvent(element, eventName, func) {                 if (element.addEventListener) {                 return element.addEventListener(eventName, func, false);               } else if (element.attachEvent) {                   return element.attachEvent("on" + eventName, func);               }             };              // Toggle button             addEvent(document.getElementById('trigger'), 'click', function(){                 if( snapper.state().state=="left" ){                     snapper.close();                     $( ".menu-trigger" ).removeClass( "active" );                 } else {                     snapper.open('left');                     $( ".menu-trigger" ).addClass( "active" );                 }             });              addEvent(document.getElementById('scroller'), 'click', function(){                 if( snapper.state().state=="left" ){                     $( ".menu-trigger" ).removeClass( "active" );                 }             });              /* Prevent Safari opening links when viewing as a Mobile App */             (function (a, b, c) {               if(c in b && b[c]) {                   var d, e = a.location,                       f = /^(a|html)$/i;                   a.addEventListener("click", function (a) {                       d = a.target;                       while(!f.test(d.nodeName)) d = d.parentNode;                       "href" in d && (d.href.indexOf("http") || ~d.href.indexOf(e.host)) && (a.preventDefault(), e.href = d.href)                   }, !1)               }             })(document, window.navigator, "standalone");          });      } // end if      fitHeight();      $(window).scroll(function() {         $('section').each(function(){             var id='#'+$(this).attr('id'),                 off=$(id).offset().top,                 hei=$(id).height(),                 winscroll=$(window).scrollTop(),                 dif=hei+off-($(window).height());             console.log('msj');              if (winscroll >= off && winscroll<=dif) {                 $(id+' .sticky').removeClass('abs').addClass('fix');             } else if (winscroll > dif){                 $(id+' .sticky').removeClass('fix').addClass('abs');             } else {                 $(id+' .sticky').removeClass('fix abs');             }         });      });  });  // Trigger FitHeight on browser resize $(window).resize(fitHeight); 

EDIT

Some bits of the full code (above) refer to other JS files and code returns no errors when run with these files present. After troubleshooting I see the console message before the scroll function but I do not see the console message within the scroll function.

fitHeight();      console.log('About to bind scroll effects'); // I SEE THIS MESSAGE      $(window).scroll(function() {          console.log("scroll bound, now loop through sections"); //BUT NOT THIS ONE          $('section').each(function(){ 
like image 224
egr103 Avatar asked Oct 29 '13 15:10

egr103


People also ask

Why my console is not working in Chrome?

To restore the console in new tab go to console and type delete window. console it will return true after that restart the chrome and you are good to go.

Why is my console log undefined?

This is because console. log() does not return a value (i.e. returns undefined). The result of whatever you entered to the console is first printed to the console, then a bit later the message from console. log reaches the console and is printed as well.

Why can I console log but not return?

console. log will log to the console (as the name suggests) while return just ends the function and passes the value to whatever called that function. Since you're not using that return value, you won't see anything but it is produced.


1 Answers

Sounds like you've either hidden JavaScript logs or specified that you only want to see Errors or Warnings. Open Chrome's Developer Tools and go to the Console tab. At the bottom you want to ensure that JavaScript is ticked and also ensure that you have "All", "Logs" or "Debug" selected.

Example Screenshot

In the image above I have JavaScript, Network, Logging, CSS and Other ticked and "All" selected.


Another potential problem could be that your $(window).scroll() function isn't wrapped within a .ready() function (as documented here):

$(document).ready(function() {     $(window).scroll(function() {         ...     }); }); 

When pasting your code into JSFiddle and giving some dummy content, your code works perfectly fine: JSFiddle demo.


Edit:

The question was edited. The new code given throws two errors:

Uncaught ReferenceError: fitHeight is not defined Uncaught TypeError: Cannot read property 'addEventListener' of null

Because of this, the code stops execution prior to reaching any console.log call.

like image 194
James Donnelly Avatar answered Oct 09 '22 02:10

James Donnelly