2016-04-24 121 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中。我认为你正在走向成功之路。 –