2013-09-01 40 views
0

http://jsbin.com/EzaKuXE/1/edit上點擊

我一直在試圖改變從默認的主題,鈷等有它每次切換您按一下按鈕,但它切換到主題一次,不切換CodeMirror主題切換回來。因此,我爲什麼來到這裏。任何人都可以幫助引導正確的方向?這個簡單的任務變得煩人。

我已經更換了代碼無關的部分用。(點)

HTML

<link rel="stylesheet" href=http://codemirror.net/doc/docs.css> 
. 
. 
<link rel="stylesheet" href="http://codemirror.net/theme/3024-night.css"> 
. 
. 
<link rel="stylesheet" href="http://codemirror.net/theme/neat.css"> 
</head> 
<body> 
    <textarea id=code name=code> 
    . 
    . 
    <iframe id=preview></iframe> 

    <p>Select a theme: <select onchange="selectTheme()" id=select> 
     <option value="0" selected>default</option> 
     . 
      . 
     <option>night</option> 
    </select></p> 

    <button id="changetheme" style="margin-top: -35px; float: right;">Cobalt</button> 
</body> 
</html> 

的Javascript

// Initialize CodeMirror editor with a nice html5 canvas demo. 
var editor = CodeMirror.fromTextArea(document.getElementById("code"), { 
    lineNumbers: true, 
    styleActiveLine: true, 
    matchBrackets: true 
}); 

// Sets the theme 
var input = document.getElementById("select"); 

function selectTheme() { 
    var theme = input.options[input.selectedIndex].innerHTML; 
    editor.setOption("theme", theme); 
} 

$(function() { 
    $('#changetheme').click(themechange); 

    function themechange() { 
     if (
      $("#select").val(0)) { 
      $("#select").val(7).trigger('change'); 
     } 
     else if (
      $("#select").val(7)) { 
      $("#select").val(0).trigger('change'); 
     } 
    } 
}); 

回答

1

用於切換使用jQuery的內容,請使用toggleClass ()函數。

http://api.jquery.com/toggleClass/

$(element).toggleClass("className"); 
+0

我已經嘗試過這一點,它不會,我試圖在CodeMirror做的工作。這裏是小提琴 - http://jsbin.com/EzaKuXE/6/edit –

+0

從你的小提琴中,我看到你有.toggleClass(「。className」)和那裏的點。該點僅用於選擇器,而不用於toggleClass(「className」)語法。看到現在的作品下面更新的小提琴:http://jsbin.com/EzaKuXE/11/edit –

+0

感謝您的幫助 –