2016-04-24 160 views
0

好了,我想在這裏使用http://codepen.io/emredenx/pen/ojcxlCSS3響應下拉菜單無法正常工作

此菜單它不能在博客http://menuteste158.blogspot.com.br/工作,我嘗試了幾種不同的模板,以及。

我下載的文件codepen和它的工作完美......然後,我認爲問題將是博客」 ..然後我去的jsfiddle進行測試,以確保(我的名聲不要讓我放2個以上的鏈接,所以我會放在評論中,對不起)並沒有工作,我把我下載的文件相同的代碼,結果與博主一樣。這怎麼可能?

If it was just the blogger could be conflicts between codes, but I tested in four different places (my computer, jsfiddle, codepen, blogger), and the problem persists in two of them ...

我把與菜單的部分博主的意見,以促進 多一點。

<!--menu--> 

<!--script menu--> 

<!--menu jquery--> 

我已經把jQuery的<head>之後和之前的</ body>並沒有太大的區別,以及別的東西,我變了,只有博主,是這部分代碼:

if ($ (window) .width() <= mediasize) { 

對於本:

if ($ (window) .width() & lt; = mediasize) { 

現在,我不能更困惑......我不知道該怎麼改變,也不知道爲什麼。相同的代碼在不同的位置。他們應該工作。這對我來說現在沒有意義。

Ps.: Andy Hoffman was right about why the code error in jsFiddle, but still not working on blogger templetes.

+0

https://jsfiddle.net/5f6s5tcz/ –

回答

0

菜單是不工作的博客,因爲這部分代碼在javascript:

If ​​($ (window) .width() <= mediasize) {if ($ (window) .width() & lt; = mediasize) {

的代碼是顯示這個錯誤:

*Uncaught SyntaxError: missing) after argument list.* 

雖然我已經做了這個改變,因爲這個錯誤是The content of elements must consist of well-formed character data or markup.出現在博主上,因爲XML代碼中不支持某些字符。

但是,有一種方法可以使接受,只是把一個CDATA部分。像這樣:

<script> 
    //<![CDATA[ 
    (function($) { 
     $.fn.menumaker = function(options) { 
     var cssmenu = $(this), 
      settings = $.extend({ 
      format: "dropdown", 
      sticky: false 
      }, options); 
     return this.each(function() { 
      $(this).find(".button").on('click', function() { 
      $(this).toggleClass('menu-opened'); 
      var mainmenu = $(this).next('ul'); 
      if (mainmenu.hasClass('open')) { 
       mainmenu.slideToggle().removeClass('open'); 
      } else { 
       mainmenu.slideToggle().addClass('open'); 
       if (settings.format === "dropdown") { 
       mainmenu.find('ul').show(); 
       } 
      } 
      }); 
      cssmenu.find('li ul').parent().addClass('has-sub'); 
      multiTg = function() { 
      cssmenu.find(".has-sub").prepend('<span class="submenu-button"></span>'); 
      cssmenu.find('.submenu-button').on('click', function() { 
       $(this).toggleClass('submenu-opened'); 
       if ($(this).siblings('ul').hasClass('open')) { 
       $(this).siblings('ul').removeClass('open').slideToggle(); 
       } else { 
       $(this).siblings('ul').addClass('open').slideToggle(); 
       } 
      }); 
      }; 
      if (settings.format === 'multitoggle') multiTg(); 
      else cssmenu.addClass('dropdown'); 
      if (settings.sticky === true) cssmenu.css('position', 'fixed'); 
      resizeFix = function() { 
      var mediasize = 700; 
      if ($(window).width() > mediasize) { 
       cssmenu.find('ul').show(); 
      } 
      if ($(window).width() <= mediasize) { 
       cssmenu.find('ul').hide().removeClass('open'); 
      } 
      }; 
      resizeFix(); 
      return $(window).on('resize', resizeFix); 
     }); 
     }; 
    })(jQuery); 

    (function($) { 
     $(document).ready(function() { 
     $("#cssmenu").menumaker({ 
      format: "multitoggle" 
     }); 
     }); 
    })(jQuery); 
    //]]> 
    </script> 

現在菜單正在工作。

0

當你導入jQuery並重新運行代碼時,你的小提琴工作正常。

enter image description here

+0

:)你是對的,它工作https://jsfiddle.net/carlavieirablogger/00w6ck8r/。只是不能在博客上工作...任何想法爲什麼? –

+0

這看起來很有希望:http://www.sneeit.com/2014/05/add-jquery-to-your-blogger-and-blogspot.html?m=0 –

+0

您需要在Blogger頁面上打開開發者工具並尋找錯誤。如果你看到類似的話,'「$」是未定義的,這意味着你的Blogger網站上沒有安裝jQuery。我在最後一條評論中發佈的鏈接應該告訴你如何將jQuery導入到Blogger中。我認爲你正在走向成功之路。 –