2015-07-01 5 views
0

Привет Я последовал примеру, чтобы получить эту карусель работает carousel linkJQuery элемент не является функцией

Он отлично работает в Internet Explorer, однако, когда я запускаю его в светлячок я получаю TypeError ошибки: $ (...) .slick не является функцией

Я продолжаю смотреть и не видеть каких-либо различий в моем коде к примеру, и не может понять, как это будет работать в IE, а не Firefox

<link href='http://fonts.googleapis.com/css?family=Montserrat' rel='stylesheet' type='text/css'> 

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

    <link rel="stylesheet" type="text/css" media="all" href="fancybox/jquery.fancybox.css"> 
    <script type="text/javascript" src="fancybox/jquery.fancybox.js?v=2.0.6"></script> 

    <script src="js/jquery.flow.1.2.auto.js" type="text/javascript"></script> 

    <link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/jquery.slick/1.5.0/slick.css"/> 
    <script type="text/javascript" src="//cdn.jsdelivr.net/jquery.slick/1.5.0/slick.min.js"></script> 

<div class="carousel"> 
    <div><img src="img/carousel/1.jpg" /></div> 
    <div><img src="img/carousel/2.jpg" /></div> 
    <div><img src="img/carousel/coutout2.jpg" /></div> 
    <div><img src="img/carousel/cutout.jpg" /></div> 
    <div><img src="img/carousel/cutout1.jpg" /></div> 
</div> 


<script type="text/javascript"> 

      $(document).ready(function() { 

       $(".modalbox").fancybox(); 

       $('.carousel').slick({ 
        slidesToShow: 1, 
        slidesToScroll: 1, 
        autoplay: true, 
        autoplaySpeed: 450, 
        adaptiveHeight: true 
        }); 

       $("#Logo").show(); 


    $("#contact").submit(function() { return false; }); 

       //send email 
    $("#send").on("click", function(){ 
     var emailval = $("#email").val(); 
     var msgval = $("#message").val(); 
     var msglen = msgval.length; 
     var mailvalid = validateEmail(emailval); 

        // 
     if(mailvalid == false) { 
      $("#email").addClass("error"); 
     } 
     else if(mailvalid == true){ 
      $("#email").removeClass("error"); 
     } 

     if(msglen < 4) { 
      $("#msg").addClass("error"); 
     } 
     else if(msglen >= 4){ 
      $("#msg").removeClass("error"); 
     } 
     // 

        mailvalid == true 

    if(mailvalid == true  && msglen >= 4) { 
      $("#send").replaceWith("<em>sending...</em>"); 

      $.ajax({ 
            type: 'POST', 
       url: 'contact_form/contact.php', 
       data: $("#contact").serialize(), 
       success: function(data) { 
        if(data == "true") { 
         $("#contact").fadeOut("fast", function(){ 
          $(this).before("<p><strong>Success! Your feedback has been sent, thanks :)</strong></p>"); 
          setTimeout("$.fancybox.close()", 1000); 
         }); 
        } 
       } 
      }); 
     } 
    }); 


      //validate email 
      function validateEmail(email) { 
    var reg = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 
    return reg.test(email); 
} 
     }); 
+0

Я не думаю, что это проблема, так как он работает в IE, но я не вижу включенного jQuery. Вы видите другую ошибку или ошибку 404 в консоли разработчика? – wezzy

+1

у вас есть JQuery? я думаю, что вы должны, если его работа в IE –

+0

Вот такая ошибка, которую вы получите, когда jQuery не включен. В этом случае он тоже не должен работать в IE, хотя IE печально известен тем, что кэширует все до конца времени. – Sparky

ответ

0

У вас нет JQuery. Он не распознает ваш селектор. Попробуйте добавить версию 1.11, например. Добавьте этот сценарий, прежде чем ваши два других:

<script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script> 

Edit:

Если у вас есть JQuery уже загружен, я думаю, что это что-то делать с реферирования. У вас нет http:, префикс источника скрипта, который может быть исправлен автоматически. Изменение скриптов, чтобы http в них:

<link rel="stylesheet" type="text/css" href="http://cdn.jsdelivr.net/jquery.slick/1.5.0/slick.css"/> 
<script type="text/javascript" src="http://cdn.jsdelivr.net/jquery.slick/1.5.0/slick.min.js"></script> 
+1

Я понимаю ваш ответ, и это правильно в содержании, но он сказал, что он работает в IE, что означает, что он должен ссылаться на jQuery –

+0

@JoshStevens Это правда, я этого не заметил. Заметили что-то еще, хотя ... редактирование. –

+0

да, если ваша веб-страница - это HTTP, тогда вы должны ссылаться на HTTP-ссылку, но если ее веб-страница HTTPS должна быть связана с HTTPS-ссылкой, поскольку перекрестный HTTPS/HTTP блокируется на chrome –

0

Если веб-страница HTTP, то вы должны связать с HTTP ссылку, но если его HTTPS веб-страницы, вы должны связать с HTTPS ссылку, как кросс HTTPS/HTTP блокируется на хром и другие браузеры по соображениям безопасности. Это, вероятно, так, исправить это, как вы должны либо:

HTTP:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

HTTPS:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

вы также можете использовать то, что называется скрипача, который ловит все от вашей страницы ошибок 404 веб , служебные вызовы и т. д. http://www.telerik.com/fiddler

вы также можете просмотреть в своем консольном журнале, и он расскажет вам об этой проблеме.

Смежные вопросы