2012-11-20 24 views
0

我遵循icodeya的教程在文本字段中添加顏色選擇器。扭曲的是,我用twitter bootstrap而不是miniColor.js。但我無法讓它工作。在Grails中使用的Twitter引導,看起來不同

這裏是我的代碼:

Config.groovy中

grails.resources.modules = { 
jQuery{ 
resource url:'http://code.jquery.com/jquery-1.8.2.min.js', disposition: 'head' 
} 

colorPicker{ 
dependsOn 'jQuery' 

resource url: '/js/jquery.twitterBootstrap.js', disposition: 'head' 
resource url: '/css/jquery.twitterBootstrap.css' 
} 
} 

/css/twitterBootStrap.css

/* 
    Colorpicker for Bootstrap 
    Copyright 2012 Stefan Petre 
    Licensed under the Apache License v2.0 
    http://www.apache.org/licenses/LICENSE-2.0 
*/ 
.colorpicker-saturation { width: 100px; height: 100px; background-image: url(/img/saturation.png); cursor: crosshair; float: left; } .colorpicker-saturation i { display: block; height: 5px; width: 5px; border: 1px solid #000; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; position: absolute; top: 0; left: 0; margin: -4px 0 0 -4px; } .colorpicker-saturation i b { display: block; height: 5px; width: 5px; border: 1px solid #fff; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; } .colorpicker-hue, .colorpicker-alpha { width: 15px; height: 100px; float: left; cursor: row-resize; margin-left: 4px; margin-bottom: 4px; } .colorpicker-hue i, .colorpicker-alpha i { display: block; height: 1px; background: #000; border-top: 1px solid #fff; position: absolute; top: 0; left: 0; width: 100%; margin-top: -1px; } .colorpicker-hue { background-image: url(/img/hue.png); } .colorpicker-alpha { background-image: url(/img/alpha.png); display: none; } .colorpicker { *zoom: 1; top: 0; left: 0; padding: 4px; min-width: 120px; margin-top: 1px; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; } .colorpicker:before, .colorpicker:after { display: table; content: ""; } .colorpicker:after { clear: both; } .colorpicker:before { content: ''; display: inline-block; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 7px solid #ccc; border-bottom-color: rgba(0, 0, 0, 0.2); position: absolute; top: -7px; left: 6px; } .colorpicker:after { content: ''; display: inline-block; border-left: 6px solid transparent; border-right: 6px solid transparent; border-bottom: 6px solid #ffffff; position: absolute; top: -6px; left: 7px; } .colorpicker div { position: relative; } .colorpicker.alpha { min-width: 140px; } .colorpicker.alpha .colorpicker-alpha { display: block; } .colorpicker-color { height: 10px; margin-top: 5px; clear: both; background-image: url(/img/alpha.png); background-position: 0 100%; } .colorpicker-color div { height: 10px; } .input-append.color .add-on i, .input-prepend.color .add-on i { display: block; cursor: pointer; width: 16px; height: 16px; } 

在我的GSP文件我補充:

<r:require module="colorPicker"/> 
<script> 
jQuery.noConflict(); 
jQuery(document).ready(function() { 
jQuery('#myColorPicker').colorpicker(); 
}); 
</script> 
<br/><br/> 

我還在js中添加了js文件Grails文件夾。然而,它看起來像這樣:

enter image description here

我沒有看到從黑到粉紅色的漸變;它全是粉紅色的。但是當我點擊一個地方時,在右下角說,我會得到一個預期的深色。儘管我的代碼的結果並未顯示。

我使用Google Chrome的21.0.1180.75版。它看起來與eyecon.ro網站上演示的不同。

爲什麼不能正常工作?

+0

沒有js錯誤? colorpicker所需的圖像被下載? –

+0

只是在這裏的建議。你應該下載grails的jQuery插件。這樣你就不必在應用程序資源中定義它,它將是Grails在使用grails標記進行ajax調用時選擇的庫。 –

+0

另外,我會建議創建一個小提琴來演示問題。 –

回答

0

圖像的路徑不正確。假設colorpicker文件夾在下載時保持不變,則鏈接到文件的css鏈接應該是../img/*而不是/img/*。原來的CSS是錯誤的。但是,包含的.less文件是正確的。