2016-12-08 2 views
0

Я пытаюсь реализовать это в своем приложении Ruby on Rails. Единственное, что не работает, это код Javascript. Я уже пробовал% script и: javascript. Но по какой-то причине он не загружается. Когда я наводил курсор на переключатель, он ничего не показывает.Ruby on Rails - Javascript/jQuery to Haml

Javascript/JQuery (от jsfiddle):

$(document).ready(function(){ 

$('#container').on('mouseenter', '#radiobtn', showBox); 
$('#container').on('mouseleave', '#radiobtn', hideBox); 

function showBox(e){ 
    var x = e.pageX + 20; 
    var y = e.pageY + 20; 
$('#hoverbox').fadeIn(); 
$('#hoverbox').offset({ left: x, top: y }); 
} 
}); 

function hideBox(){ 
$('#hoverbox').fadeOut(); 
} 

Пример: http://jsfiddle.net/wrN2u/387/

Own Javascript Файл:

:javascript 
$(document).ready(function(){ 
    $('#container1').on('mouseenter', '#radiobtn', showBox); 
    $('#container1').on('mouseleave', '#radiobtn', hideBox); 

    function showBox(e){ 
    var x = e.pageX + 20; 
    var y = e.pageY + 20; 
    $('#hoverbox').fadeIn(); 
    $('#hoverbox').offset({ left: x, top: y }); 
    } 
}); 

function hideBox(){ 
$('#hoverbox').fadeOut(); 
} 

HAML:

!!! 
%html 
    %head 
    = javascript_include_tag 'options.js' 

    #container1 
     %input{:name => "optradio", :type => "radio", :id => "radiobtn"}option1 
     #hoverbox 
    #container2 
     %input{:name => "optradio", :type => "radio", :id => "radiobtn"}option2 
     #hoverbox2 
+0

jsfiddle работает для меня. Если есть код haml, на который вы ссылаетесь, это сломано, обязательно включите его. –

ответ

1

This question может помочь вам. Также я заметил в вашей js-скрипке, что Javascript не имеет отступов. Если вы используете HAML, то отступы имеют решающее значение. Убедитесь, что ваш JS начинается с первого отступа второй строки после: javascript

:javascript 
    $(document).ready(function() { 
    alert('working'); 
    }); 

В качестве альтернативы. Если вы пытаетесь включить JS файл с Haml вам нужно

= javascript_include_tag "my_js" 

от here.

Кроме того, если это не поможет. Будет очень полезно увидеть ваш файл HAML.

+0

Мой javascript-файл уже дает мне ошибку: javascript. Ошибка: ожидаемое заявление. – MrN2017

+0

Вы написали: javascript в файле options.js? Если это так, удалите его. Это код HAML. –

+0

Я изменил его, но он не делает ничего на зависании. – MrN2017

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