我在玩jQuery和拖放功能。我有一個div
在CSS中設置爲hidden
。當激活拖動元素時,應通過將display
設置爲inline
(這是默認值)來顯示droppable
元素。將顯示設置爲無時顯示div
然而,display: inline;
不會推翻display: none;
。如何做到這一點(通過jQuery或CSS)?
我當前的代碼:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Droppable - Visual feedback</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<style>
#draggable2 { width: 90px; height: 90px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
#droppable2 { width: 120px; height: 120px; padding: 0.5em; float: left; margin: 10px; }
#droppable { border-width: 3px; border-style: solid; border-color: #585FCC; height: 20px; display: none; }
.droppable-highlight { display: inline; }
h3 { clear: left; }
</style>
<script>
$(function() {
$("#draggable2").draggable();
$("#droppable").droppable({
accept: "#draggable2",
activeClass: "droppable-highlight",
drop: function(event, ui) {
$(this)
.addClass("ui-state-highlight")
.find("p")
.html("Dropped!");
}
});
});
</script>
</head>
<body>
<h3>Feedback on activating draggable:</h3>
<div id="draggable2" class="ui-widget-content">
<p>Drag me to my target</p>
</div>
<div id="droppable" >
<p>Drop here</p>
</div>
</body>
</html>
Tinker.io鏈接:http://tinker.io/bf197
這是因爲ID選擇是更具體的比類選擇(因此需要更高的優先級)。你將不得不通過'.css()'方法來設置它。 – Terry 2013-04-08 09:09:56
@Terry你能告訴我這是怎麼完成的嗎?我想在'droppable()'部分。我對此很新。 – Devator 2013-04-08 09:12:02
@Devator:據我所知,問題在於這個類沒有被添加(我只是爲了這個實驗處理了特殊性問題 - 將CSS規則的選擇器更改爲了##droppable.droppable-highlight ')。但是看着Chrome的開發工具中的元素,我沒有看到這個類被添加到droppable中,儘管在文檔中我認爲應該發生什麼。 – 2013-04-08 09:15:08